Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: OpenSceneGraph…
Commits on Feb 29, 2012
  1. Release OpenSceneGraph-3.1.0

    Robert OSFIELD authored
  2. Updated ChangeLog and AUTHORS for dev release

    Robert OSFIELD authored
  3. Improved the handling of endian swap of osg::Array

    Robert OSFIELD authored
  4. From Glenn Waldron, "Attached are modifications to ZipArchive to make…

    Robert OSFIELD authored
    … it safe for mutli-threaded access.
    Here's a summary:
    * Uses a separate ZIP file handle per thread
    * Maintains a single shared (read-only) index, created the first time through
    * Stress-tested with the DatabasePager using 24 threads under osgEarth
    I also updated the member variables to use OSG's leading-underscore convention."
Commits on Feb 28, 2012
  1. From Guillaume Millet, "When using the texture Atlas builder, it will…

    Robert OSFIELD authored
    … convert from REPEAT to
    CLAMP all textures using only texcoord between [-0.001 1.001] to give a
    chance to create an Atlas.
    If the atlas creation failed for other reason (texture size, only one
    compatible texture, ...) the texture remain modified in CLAMP mode.
    But if you use texcoords between [0.0 1.0] using CLAMP mode instead
    REPEAT it is not safe because you will have a blend to the border color
    at extremities.
    If we want to have exactly the same rendering after changing mode from
    REPEAT to CLAMP we should use the CLAMP_TO_EDGE mode instead of CLAMP to
    avoid blending to border color at extremities.
    Please find as attachment the proposed patch against latest svn version.
  2. Added build problem with using float Matrix.

    Robert OSFIELD authored
  3. From Thomas Hogarth, build fix for IOS build

    Robert OSFIELD authored
Commits on Feb 27, 2012
  1. Added fin.imbue(std::locale::classic()); to avoid problems with parsi…

    Robert OSFIELD authored
    …ng of .obj files
Commits on Feb 24, 2012
  1. Added s/getByteSwap to teh InputStreamOperator base class and use of …

    Robert OSFIELD authored
    …this method in the InputStream::start(InputStreamOperator*) method to ensure the bytes are swapped consistently.
  2. Added support for using glGenerateMipmap instead of GL_GENERATE_MIPMA…

    Robert OSFIELD authored
    …P_SGIS on GLES2
  3. Added support for checking the possible endian reversal the OSG_HEADE…

    Robert OSFIELD authored
    …R_LOW and OSG_HEADER_HIGH when reading binary files written out from systems that have a different endian to the system reading it.
  4. Cleaned up CMake warning

    Robert OSFIELD authored
Commits on Feb 23, 2012
  1. Moved the

    Robert OSFIELD authored
    into the #if defined(OSG_GL_FIXED_FUNCTION_AVAILABLE) block to solve problems under GLES and GL3.x/GL4.x
  2. From Mathieu Marache, "I was trying to play with the configuratiion f…

    Robert OSFIELD authored
    …iles from the data but
    couldn't load them with osgviewer's -c CLI switch, this correction
    should make the alias work :-)
Commits on Feb 22, 2012
  1. From Sergey Polischuk, "In and Out control points were computed incor…

    Robert OSFIELD authored
    …rectly for some animation channels with cubic bezier interpolation"
  2. From Miha Ravsel, "While trying to create my custom serializer class,…

    Robert OSFIELD authored
    … i created some dummy data which accidentally popped-up bug in InputStream readObjectFields function.
    Bug description:
     Let's say we have class A
    namespace Bug
    class A : public osg::Object
      typedef std::vector<osg::ref_ptr<A> > AList;
      AList _alist;
                            new Bug::A,
                            "osg::Object Bug::A" )
    We create say 3 instances of class A: A1,A2,A3 and then we add A2 and A3 and A1 as child instances of A1 so we get next structure:
     |- A2,A3,A1
    we call osgDB::writeObjectFile(A1,"/data/a.osgt") -> saved correctly( third element in list is saved as unique id that references parentClass
    now we call
    A1 = osgDB::readObjectFile("/data/a.osgt");
    Everything is deserialized correctely except last element in list which should be same instance as parent A1.
    The attached code resolves this issue by passing UniqueID in readObjectFields method and saving object in _identifierMap as soon as we have valid object instance so we can make reference to parent object from any child instance.
Commits on Feb 21, 2012
  1. From Paul Martz, "The attached fixes a few issues that are present wh…

    Robert OSFIELD authored
    …en ref_ptr implicit casting is disabled."
  2. From Olaf Flebbe, "Macos X cleanup:

    Robert OSFIELD authored
    I added AFAIK proper defaults for several Macos X Version API targets.
    * In order to determine which defaults to apply, consult the  CMAKE_OSX_SYSROOT variable pointing to the used SDK, not the pure existence of an SDK.
    * Defaults are now:
    10.7: Support Intel 32 and 64 Bit Cocoa with imageio picture reader
    10.6 + 10.5: Support Cocoa with imageio on Intel and PowerPC
    10.4: Carbon, Quicktime and PowerPC
    Now OSG compiles out of the box for MacOSX  10.7. , tested with gcc and clang with FlightGear."
  3. Fixed warnings

    Robert OSFIELD authored
  4. Fixed erroneous use #if !defined(OSG_GLES1_FEATURES) && !defined(OSG_…

    Robert OSFIELD authored
    …GLES2_FEATURES) which should have been #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)
Commits on Feb 20, 2012
  1. From Luc Frauciel, "When dae plugin is used with daeUseSequencedTextu…

    Robert OSFIELD authored
    …reUnitsoption, the transparency processing is done with the wrong texture unit
    I've remplaced the unused parameter diffuseColorName by the diffuseTextureUnit effectively used."
  2. From Dietmar Funck, "in order to use a customized database thread it'…

    Robert OSFIELD authored
    …s necessary to use a customized database pager, which creates such customized database threads, too.
    I think the best way to achieve this is to overwrite the DatabasePager::addDatabaseThread() method within the customized database pager. However this method is not 'virtual' yet, so I propose to make the method 'virtual'."
  3. From Farshid Lashkari, "I've attached a small optimization to osgDB::…

    Robert OSFIELD authored
    …Registry::removeExpiredObjectsInCache that removes the expired items while iterating over the cache, instead of saving to a temporary vector and then removing."
  4. From Riccardo Corsi, Added passing of EventVisitor pointer to event h…

    Robert OSFIELD authored
  5. From Riccardo Corsi, "please find attached a small patch for HDR plugin,

    Robert OSFIELD authored
    which simply set by default the internal pixel format to GL_RGB32F_ARB where appropriate.
    In the current version there's a comment saying that the plugin set it to GL_RGB8 (even when reading from float) to support old graphics cards,
    but the comment dates back to 2004...
    What's more I believe that it's correct to expect a floating texture format if you're loading an hdr image.
    It was quite troublesome for us to discover why our background image wasn't showing hdr data...
    In case you accept the submission, I've removed the comment as it would be misleading to leave it there."
  6. From Johannes Baeurele, "The osg::Image class now contains a 'support…

    Robert OSFIELD authored
    …sTextureSubloading()' method that is used inside the Texture2D::apply method. For now it only checks for the etc1 format in which case it returns 'false'. All other formats lead to a return value of 'true'.
    Without the change the application does not work properly. First I get the notification that an OpenGL error occured. After some more of this error messages I see broken textures on the screen. With the changes attached to this message my application works as intended."
    Note from Robert Osfield, changed the Image::supportsTextureSubloading() to be const and to be implemented in the .cpp rather than inline.
Commits on Feb 17, 2012
  1. From Kim Bale, "The application description for osg2cpp was cut and p…

    Robert OSFIELD authored
    …asted from osgconv and not changed.
    I've added a more relevant description."
  2. From Martin Lambers, "It adds a new ReaderWriter plugin for the GTA f…

    Robert OSFIELD authored
    …ile format
    ( This allows to read and write floating point
    image data. Unlike other formats, GTA also allows very good compression
    ratios for floating point data. The compression method can be selected
    with the COMPRESSION option of the plugin.
  3. Added usage of OSG_CPP_EXCEPTIONS_AVAILABLE for plugins that use std:…

    Robert OSFIELD authored
Commits on Feb 10, 2012
  1. From Stephan Huber, "

    Robert OSFIELD authored
    Here's another small submission for IOS, which adds unique ids to the
    touchpoints, so the ids stay the same during a touch-sequence.
    (and some minor code enhancements)"
  2. From Colin McDonald, "Upgrading to OpenSceneGraph 3.0.1, texture mip …

    Robert OSFIELD authored
    …mapping stopped
    working on some junk low-end graphics cards which I still have to
    support.  They worked ok with osg 2.8 and earlier.
    The problem turned out to be with gl proxy textures, which are
    unreliable on those devices.  Proxy textures are used by the glu
    mipmap build routines to determine if a texture size is
    supported. The external glu library had a nice fallback
    behaviour, so that if proxy textures didn't work then the mipmap
    texture was still created.  But in the work on the new embedded
    glu routines that fallback behaviour has been inadvertently
    lost.  I have restored the fallback in
    src/osg/glu/libutil/mipmap.cpp.  It doesn't add any extra
  3. From Domenico Mangieri, "Implementation for MoveRight and MoveUp meth…

    Robert OSFIELD authored
    …ods in FirstPersonManipulator is missing.
    I'm using the manipulator, so I added it."
  4. From Stephan Huber, attached you'll find a compile fix for the new in…

    Robert OSFIELD authored
    …troduced rowlength-feature on IOS/OpenGL ES builds
Something went wrong with that request. Please try again.