Commit Graph

5604 Commits

Author SHA1 Message Date
Robert Osfield
f9b9efec16 From Vladimir Shabanov, "The DDS plugin didn't correctly read mipmapped A8L8 textures.
I've attached a small fix for this.

Cause: uncompressed mipmap handling was done only for RGB pixel format.

Fix: added condition for handling alpha and luminance formats too."
2006-10-30 12:23:37 +00:00
Robert Osfield
baeb41a416 From Michael Henheffer, "There's a problem with OverlayNodes where the texture will not display
if continuous updating is set to false.

The problem was being caused by the camera update call never being made
if continuous updating was not set to true.  This fix adds a flag that
is set when dirtyOverlayTexture() is called and checked in the update
visitor section of the traversal to determine if the camera should be
updated.

I tested the fix by making some changes to the osgAnimate example
program so it has continuous updating off and calls dirtyOverlayTexture
for each frame.  The overlay texture now displays properly."
2006-10-30 12:19:41 +00:00
Robert Osfield
c5c4c5da1d From Edgar Ellis, "
method may not take the node into consideration when computing its bound.

In this case of:
switch->insertChild(0, child, false);
switch->insertChild(1, child, true);

child will not be used in computeBound, but will be drawn.

Solution:
Changed compute bound to loop over children using an index instead of an
iterator. This behaviour matches that of the traverse method."

-----------------------------------------------
2006-10-30 12:14:00 +00:00
Robert Osfield
a48a4aa7d3 From Michael Henheffer, "Bug: The reader would crash when trying to load a .tif image that
contained an 8-bit color map.  The crash occured at line 545:

remap_row(currPtr, inbuf, w, red, green, blue);


Cause:  The code was trying to write past the end of the buffer while
doing this remapping.  The size of the buffer is determined based on the
value of 'format', which was 1 in this case since bitspersample is
8(indicating a 8-bit color map).  The buffer should have been created 3
times as large since that 8-bit value is indexing a 24-bit color.


Fix:  I've put in an if statement to set format to 3 if 'photometric'
indicates the tif contains a palette as the output data will always be
24-bit color data in this case."
2006-10-30 12:05:56 +00:00
Robert Osfield
321215c6ec From Mathieu Marache, fixed osgsimpleviewerQt4 so that it uses the correction options 2006-10-30 11:55:02 +00:00
Robert Osfield
b4135398da Added handling of geometry indices offset when merging geometries with indices 2006-10-30 11:00:25 +00:00
Robert Osfield
358b96e953 Added osgUtil::IntersectorGroup to handle groups of osgUtil::Intersectors 2006-10-27 15:11:17 +00:00
Robert Osfield
0fe424996d From Andrew Lorino and Robert Osfield, Improvements to the handling of texture paths 2006-10-26 16:52:10 +00:00
Robert Osfield
ce3929fd5f Added beginings of new osgUtil::IntersectionVisitor and osgintersection class 2006-10-26 16:03:17 +00:00
Robert Osfield
d5aaa6e530 Updatd wrappers 2006-10-26 16:02:38 +00:00
Robert Osfield
44a77dda7c Tweaked doxygen docs. 2006-10-24 16:24:24 +00:00
Robert Osfield
c892fafa1c Updated wrappers 2006-10-24 09:45:50 +00:00
Robert Osfield
85dc696c09 Added FadeText::setFadeSpeed and made internal data structures protected. 2006-10-24 09:06:28 +00:00
Robert Osfield
648455da34 Changed the dependency list to use -losg -losgDB instead of OSG_LIBS 2006-10-23 15:29:59 +00:00
Robert Osfield
8544337aca Fixed OSX x86 endian issue in Quicktime movie plugin. 2006-10-21 21:06:27 +00:00
Robert Osfield
f3b71fc2ac From David Callu:
"
  the main problem is the wrapper generation:
       The PropertyInfo class use MethodInfo class to access to the value.
       When the property are define with the I_Property* macro,
       the MethodInfo use by the property to have access to the value
       are instancied in the I_Property* macro, but there
       are already instantied by the I_Method* macro before


   secondary problem:
      - the function used by the property could no be customized
        in the genwrapper.conf file
      - an array property can't insert a value
      - the std::map reflector (and indexedProperty in general) haven't remove method
      - about the help in wrapper ... why not ...



   solution :
      To use the function define by the I_Method, I add a MethodInfo variable in the I_Method0 macro
        old macro :
           #define I_Method0(ret, fn) (\
           params.clear(),\
           addMethod(new osgIntrospection::TypedMethodIn
fo0<reflected_type, ret >(qualifyName(#fn), &reflected_type::fn, params)))

        new macro :
           #define I_Method0(ret, fn, signature, briefHelp, detailedHelp) \
           params.clear(); \
          osgIntrospection::MethodInfo* signature = addMethod(new osgIntrospection::TypedMethodInfo0<reflected_type, ret >(qualifyName(#fn), &reflected_type::fn, params, briefHelp, detailedHelp)); sink(signature)



    the osgIntrospection::MethodInfo* signature is used by the I_Property macro to define the MethodInfo that it use

    so for I_Property macro :
        old macro :
          #define I_PropertyWithReturnType(t, n, r) \
          cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \
          I_Method0(t, get##n), \
          I_Method1(r, set##n, IN, t, value)))

         new macro:
           #define I_SimpleProperty(t, n, get, set) \
           get, \
           set))

      The genwrapper has been modified in this way.
      The method signature is define by the prototype of the method
      For example, the "const char* libraryName();" have "__C5_char_P1__libraryName" for signature


   solution for secondary problem:
      The genwrapper accept new tokens in the configuration to custumize the property.
      The new PropertyInserter and the CustomPropertyInsertAttribute class has been defined
      The PropertyRemover has been added to the StdMapReflector
      The _briefHelp and _detailedHelp variable has been added in PropertyInfo, MethodInfo and ContructorInfo class






   modification:

      I have modify the genwrapper files
          Configuration.cpp Configuration.h                          add some tokens to custumize the property
          Doxyfile.template                                                 add the comment in the output xml
          genwrapper.conf                                                  customize some property in osg::Geometry
          RegistryBuilder.h RegistryBuilder.cpp                    add the process_help function (to extract help from xml)
          TypeRegister.cpp TypeRegister.h                         optimize the property detection
          TypeDesc.h TypeDesc.cpp                                   modify FunctionDesc and PropertyDesc
          WrapperGenerator.h WrapperGenerator.cpp          modify the output




      I also modify the fallowing osgIntrospection files:

          include/osgIntrospection/Attributes                              add the PropertyInserter and the CustomPropertyInsertAttribute class
          include/osgIntrospection/ConstructorInfo                      add the _briefHelp and _detailedHelp variable in the ConstructorInfo class
                                                                                          add access function for the two new variables (_briefHelp and _detailedHelp)
                                                                                          modify the constructor to define the two new variables (_briefHelp and _detailedHelp)
          include/osgIntrospection/MethodInfo                            add the _briefHelp and _detailedHelp variable in the MethodInfo class
                                                                                          add access function for the two new variables (_briefHelp and _detailedHelp)
                                                                                          modify the constructor to define the two new variables (_briefHelp and _detailedHelp)
          include/osgIntrospection/PropertyInfo                          add the _briefHelp and _detailedHelp variable in the PropertyInfo class
                                                                                          add access function for the two new variables (_briefHelp and _detailedHelp)
                                                                                          modify the constructor to define the two new variables (_briefHelp and _detailedHelp)
          include/osgIntrospection/ReflectionMacro                    remove unused I_Property* macro
                                                                                          modify all I_Method macro to accept the help string
                                                                                          modify all I_Method macro to define a MethodInfo signature
          include/osgIntrospection/Reflector                              add the PropertyInserter in StdVectorReflector and StdListReflector
                                                                                          add the PropertyRemover in the StdMapReflector
          include/osgIntrospection/StaticMethodInfo                   modify all StaticMethodInfo* to accept the help in parameter
          include/osgIntrospection/TypedMethodInfo                  modify all TypedMethodInfo* to accept the help in parameter
          include/osgIntrospection/TypedConstructorInfo             modify all TypedConstructorInfo* to accept the help in parameter
          include/osgIntrospection/Type                                     add the _briefHelp and _detailedHelp variable in the Type class

"
2006-10-17 15:17:06 +00:00
Robert Osfield
763c25a1ed Changed name osg osgshadow example.dsp to avoid MS conflicts 2006-10-17 12:29:07 +00:00
Robert Osfield
a24eb4f9ef Added osgshadow example 2006-10-17 11:28:34 +00:00
Robert Osfield
efd543d1b0 Ported FLTK example across to using GraphicsWindow 2006-10-15 11:56:52 +00:00
Robert Osfield
a8f44479db Ported across to using GraphicsWindow. 2006-10-15 11:39:35 +00:00
Robert Osfield
f257285efc From Chuck Seberion, added support reading ARB float format textures. 2006-10-14 21:50:29 +00:00
Robert Osfield
660cda57c8 From Terry Welsh, mplemented POINT_ROT_EYE. 2006-10-14 21:47:13 +00:00
Robert Osfield
b439c08b71 From Paul de Repentigny, fix for dvide by zero crash under windows when toggle full screen in ogviewer.
From Robert Osfield, tweak to the fix to add comment describing the extra check, and addition of check against width, and change to ==0 rather than <= 0.
2006-10-14 10:16:00 +00:00
Robert Osfield
97fc2dfa21 Fixed texture coordinates of cylinder ends. 2006-10-14 10:07:21 +00:00
Robert Osfield
22b15d6473 Added -losgDB to fix OSX build 2006-10-13 14:00:08 +00:00
Robert Osfield
ad9cf99109 Added dae (COLLADA) plugin to OpenSceneGraph.dsw workspace. 2006-10-07 11:57:28 +00:00
Robert Osfield
56e134dc34 Added project files for the osgsimpleviewerFLTK,GLUT,Producer,QT3,QT4 and SDL examples 2006-10-07 11:53:07 +00:00
Robert Osfield
01af960751 Fixed OSGSHADOW_LIBRARY define 2006-10-06 14:46:50 +00:00
Robert Osfield
686b22271c Fixed library name 2006-10-06 14:45:18 +00:00
Robert Osfield
5163c4a762 First cut at class interfaces and stubs for implementations for the new osgShadow NodeKit 2006-10-06 14:16:11 +00:00
Robert Osfield
d445995432 From Brede Johansen, "Here's a patch discussed in the thread "OpenFlight Loader Discarding
Material" on the osg-user mailing list."
2006-10-06 13:04:48 +00:00
Robert Osfield
fe575de98f Updated wrappers 2006-10-06 11:02:34 +00:00
Robert Osfield
f95a913daa Removed osgGA::GUIEventHandlerVisitor and osgGA::SetSceneVistor classes/headers as
this classes weren't being actively used the distribution, effectively being noops.
2006-10-06 09:54:45 +00:00
Robert Osfield
2f5b7c2e6a Added workaround for NVidia driver bug into SceneView::init() to prevent the extensions
string being initialized within a display list.
2006-10-06 06:58:04 +00:00
Robert Osfield
d40e12a27b Removed deprecated GUIEventHandler method 2006-10-05 14:32:39 +00:00
Robert Osfield
51aade98cc Renamed variable 2006-10-05 10:59:50 +00:00
Robert Osfield
e7e293594c Refactored osgsimpleviewerQT4 to implement a GraphicsWindowQT, and then use
multiple inheritance to build the final SimpleViewerQT.
2006-10-05 10:59:04 +00:00
Robert Osfield
100288b272 Added a path with an experiemental GraphicsContexProducer implementation, and a
test of mulitple inheritance.
2006-10-05 10:07:16 +00:00
Robert Osfield
632df7f3ff Added osgGA::GraphicsWindow base class that derives from osg::GraphicsContext but
adds default overrides its pure virtue methods, and an EventQueue.
2006-10-05 10:06:19 +00:00
Robert Osfield
281865d7fc Added osgGA depedency. 2006-10-04 09:11:37 +00:00
Robert Osfield
8e3a092a00 Removed the redundent relaseGLObjects() method declerations 2006-10-03 20:42:57 +00:00
Robert Osfield
490fc96ea6 From John Aughey, "Attached is the Optimizer.cpp file that has the fix to duplicate vertex and normal arrays if there is more than one reference to the data. This fixes the problem where the transforms are applied to the same vertex array multiple times if that vertex array is re-used within the model. " 2006-10-03 20:20:23 +00:00
Robert Osfield
fecb63785f From John Aughey, "The id name of nodes are not being set in the daeReader::processNode method. The names are retained in most of the other osg::Nodes that are created. In this case, I have an external modeler creating models, and the name of component nodes are used to give that subtree different characteristics." 2006-10-03 19:55:24 +00:00
Robert Osfield
1c749e95d6 Added osgDB to dependency of osgGA 2006-10-03 12:46:11 +00:00
Robert Osfield
7c6b528588 Fixed bug related to clean up of text fonts. 2006-10-03 11:14:34 +00:00
Robert Osfield
392232ec06 From Brede Johansen, "This submission adds multitexture support for detecting translucent
images used to enable alpha blending.

Mesh was syncronized with featureset from Face record."
2006-10-03 09:55:28 +00:00
Robert Osfield
e686a9a4a5 From Brede Johansen, "I think some nitpicking is required. The loop duration was added in
OpenFlight version 15.8.  With the attached changes the flasher unit
on the spinnercar and the character_anim model from the Creator
gallery behaves."
2006-10-03 09:39:03 +00:00
Robert Osfield
842b96bbc9 From Colin McDonald, "I've included render bin checks in the StateSet::compare function, because
without them the Optimizer can incorrectly eliminate (otherwise identical)
StateSets from different render bins."
2006-10-02 15:59:43 +00:00
Robert Osfield
e0599f652e Added releaseGLObjects to NodeCallbacks, Drawable::DrawCallbacks and wired up
osgProducer to use it when doing cleanup_frame.
2006-10-02 15:38:31 +00:00
Robert Osfield
02783e1dfd From Paul Martz, Bug fix for sequence node direction, It examines the number of children in the Group record destructor, so that the total duration of the sequence matches the specified loopDuration field. 2006-10-02 15:09:49 +00:00