
ChangeLog for OpenSG
====================

1.8.0 - 2007/07/04

ADDED:
    geometry shaders
    hierarchical multiframe occlusion culling
    realtime shadows (soft, perspective, ...)
    improved osgSceneViewer supporting shadows and occlusion culling.
    local clipping planes
    display filter foregrounds (color correction, distortion effects, ...)
    frame buffer object viewport
    support for Cal3D characters
    physics simulation via ode
    improved nurbs support
    new switch material for switching between different materials
    added render options to distribute render states like wireframe, occlusion culling to the cluster
    added stream support to all image loaders
    cgfx 1.4 support.
    polygon and depth clear backgrounds
    vertex buffer objects support
    JPEG2000 and exr image support
    local scons build system
    many bug fixes


1.6.0 - 2005/08/25

ADDED:
    RPM support
    Automatic helper classes for RefPtr and CoredNodePtr
    Two-sided lighting, Depth Control, Separate Blending
    Compressed Textures
    Single-Image Cubemaps
    .dds image format
    Cg/CgFx
    OpenSG-specific variables for GLSL (Camera matrix, active lights, time...)
    Separate shader and parameters into separate chunks
    MultipassMaterial: just combine multiple Materials into one
    Small Geometry data formats (Uint8,UInt16)
    Stitch strips with degenerate triangles
    Line and Edge Iterators
    Helper functions for Tangents/Binormals
    Texture/TextureMemory statistics
    String-based GraphOp/GraphOpSeq creation
    ProxyBuilder for sort-last clustering
    BalancedMultiWindow: load balancing cluster
    Color and distortion calibration (cluster only right now)
    PLY loader
    Off-Center Perspective Camera and radial distortion in TextureBackground
      (helpful for AR apps)
    New Text implementation
    wxWidgets example


1.4.0 - 2004/11/22

ADDED:
    New Tutorial (~120 pages, written by Oliver Abert
    (http://www.opensg.org/OpenSG-Tutorial-V.1.0/index.html)
    CG and OpenGL Shading Language support.
    Non power-of-two textures.
    Texture LOD control, SGIS_generate_mipmap support.
    Improved textures supports up to 16 teximages and 8 texcoords (via texgen)
    Beacons for Genfuncs
    BackMaterial
    Local light sources.
    Material sorting via sort key.
    New binary (osb) format.
    3ds, SLP, DXF loader.
    ProxyGroup for delayed loading and large model support.
    ActiveX and Netscape plugin examples.
    Integrated web server.
    TextureBackground and PolygonForeground.
    More efficient DrawTree handling (hierarchical culling, DrawTree node pool)
    Traversal Masks for finer traversal control.
    GraphOp/GraphSeq for scene optimizing.
    Volume rendering.
    Cluster improvements (faster sync & transfer,
                          connect/reconnect helper, sort-last)
    Phong and Fresnel Material.
    Helper for begin/endEditCP.
    Helper for node/Core split creation and hiding.
    Trimmed NURBS surface node.
    VideoGrabForeground
    FOX render widget.
    Mayaexport.
    FTGLText class, a simple wrapper around the FTGL font rendering library.

CHANGED:

    For multi threaded and cluster applications you have to call
    "ChangeList::setReadWriteDefault();" before osgInit.
    renamed DEPRECIATED to DEPRECATED, which seems to be more widely used.

1.3.0

    Never released this internal version.

1.2.0 - 2003/03/18

ADDED:
    A lot of documentation. The Starter Guide is now also included in the doxygen
    docs, under the Related Pages section.
    Some tutorials, an example for adding new FieldContainers and Fields
        (Examples/NewTypes)
    New platforms: Intel 7, Using STLPort for VS.NET.
    VoidP Attachments, for generic user data
    New StateChunks: Point, VertexProgram (ARB_vertex_program), FragmentProgram
        (ARB_fragment_program) 
    GLenum FieldType
    Drawable and MaterialDrawable base classes. They simplify adding new
        geometry types significantly, see Examples/*Cubes.
        
CHANGED:
    Image is a FieldContainer now. This is probably the most intrusive change
        for applications.
    Directory structure. All the Sources are in Source now, and are structured
        better
    Reformatted pretty much all of the SourceCode to fit our style guide at 
        http://opensg.sourceforge.net/cgi-bin/twiki/view/Main/StyleGuide
    A lot of compile problems. Multi-platform programming is fun... 

REMOVED:
    OSG_STREAM_IN_STD_NAMESPACE define


1.1.0 - 2002/07/03

ADDED: (a lot, only highlights given here)
    Support for: MS .NET (yeah!), icc6 (including workspaces for VS6/7), 
                 gcc3, HP-UX, MacOSX (partial)                
    configure: local extensions, separate include/lib dirs, 
    GL: wrapper header for GL/GLUT/extensions
    Clustering
    Binary File format: relatively compact files, extremely fast load
    Particle NodeCore
    Text: for statistics only right now, not on Windows, needs Freetype1
    Statistics: pretty general statistics collector
    Geometry: secondary color & multi-texture support, better pumps for
              dynamic geometry, new striper, LatLongSphere
    State: CubeTexture, 3D Texture, Register Combiners support
    Name: convenience functions to create/read/remove name attachments
    fcdEdit: added Decorator capabilities
    Fly and TrackballNavigator
    Foregrounds: Image, Grab, FileGrab
    Backgrounds: Image, Passive, Sky (a la VRML)
    PassiveWindow/Viewport/Camera: easy integration into other frameworks
    CameraDecorators: ShearedStereo, Projection
    StereoBufferViewport
    
CHANGED:
    FieldContainer:
        Reference Counting for Nodes
            Uses standard automatic method now, thus no need for unlinkSubTree 
            and friends any more, standard subRef is enough.
    Functors:
        For .NET we needed to dumb down the functors, so now the are split up
        into  anumber of classes that you need to choose the right version
        from.
    Thread:
        run -> runFunction
    get/set/addValue() interface for MFields:
        This interface is now deprecated. Please use th STL vector interface
        instead.
    ChangeMode enum replaced by UInt32
        If you have created your own FieldContainers, you will have to do this
    Fixed inlining for FCPtr and other low-level structures
    VRMLTransform -> ComponentTransform
    State: split texgen from TextureChunk into TexGenChunk
    Multi-Thread Safe GL object handling
    Window::WinID -> Window::Id
    
REMOVED:
    bool:
        we removed our own Bool type and replaced it by std::bool
    String:
        same for String, use std::string instead

1.0 - 2001/10/18

    initial version, nothing changed yet. :)
