root/OpenSceneGraph/trunk/NEWS.txt @ 3302

Revision 3302, 49.8 kB (checked in by robert, 10 years ago)

Set date for 0.9.7-2 release

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1OSG News (most significant items from ChangeLog)
2================================================
3
418th August 2004 - OpenSceneGraph-0.9.7-2
5
6    Build fixes for VisualStudio6.0. 
7    Fixes for osgFX registry support.
8    Fixes to osg::Image::flipVertical() adding support for mipmaps and
9    compressed textures. 
10    DDS plugin now can vertically flip images by using "dds_flip" Options string.
11    Added support in osgTerrain for reading imagery with color tables.
12   
13
149th August 2004 - OpenSceneGraph-0.9.7
15
16    >>> support for and generation of large scale geospatial databases,
17    >>> support for movies and examples of shadows and volume rendering.
18   
19    The 0.9.7 encompasses many improvements, bug fixes, new examples and
20    significant new functionality, the most notable of which is a new
21    osgTerrain library for generation of large scale geospatial databases.
22   
23    The new osgTerrain library and associated osgdem utility program
24    allows users to use moziacs of geospatial imagery and digital elevation
25    maps to generate a complete paged database which can be used with
26    standard OSG viewers, and users programs. By utilising GDAL to load the
27    imagery and DEM's a wide range of geospatial formats are supported.   
28     
29    The TerraPage plugin has also been rewritten ontop of the OSG's
30    osg::PagedLOD and osgDB::DatabasePager which provides support for the
31    tile fallback mechanism to ensure that no holes or cracks appear in the
32    databases being roamed, and to achieve constant frame rate via load
33    balancing mechanisms with osgDB::DatabasePager.
34   
35    The osgDB::DatabasePager has been further improved to provide more
36    configurable load balancing which allows application developers to achieve
37    constant frame rates when using paged databases.
38   
39    Double Vec & Matrix classes & CoordinateSystemNode/EllipsoidModel class
40    have been introduced to better support browsing of large scale databases,
41    and to provide a mechanism for tracking the local up orientation when
42    roaming whole earth databases.
43   
44    osgUtil has been enhanced with:
45     - an improved triangle tipper class (osgUtil::TriStipVisitor),
46     - a new simplifier (osgUtil::Simplifer) for reducing triangle density of
47       osg::Geometry leaves (utilised by osgTerrain to provide simplification
48       of terrain tiles),
49     - improved and more configurable optimizer (osgUtil::Optimizer),
50     - a new utility class for compiling and releasing OpenGL objects
51      (osgUtil::GLObjectVisitor) replaces the previous and more limited
52       DisplayListVisitor.
53   
54    All the osgGA::MatrxManipulator's (used for camera manipulator etc) have
55    been revamped with usage of doubles internally, and with tracking of the
56    current CoordinateSystem if one is active, to be better support whole
57    earth databases.  All the MatrixManipulators have been extend to allow
58    the setting of a user defined home position.  Two new manipulators have
59    been introduced osgGA::TerrainManipulator, for roaming whole earth/terrain
60    databases, and osgGA::TrackerManipulator which allows the camera to be
61    attached to a node in the scene graph.
62
63    Movie support under Linux and OSX via libMpeg3 and Quicktime respectively,
64    which extend the new osg::ImageStream base class which allows application
65    developers access to playing, pausing and rewinding movies.
66
67    The conversion utility osgconv has been extended to allow compression of
68    textures and mipmap generation during conversion when writing to the native
69    .ive binary format.  Texture compression and pre computer mipmaps enable
70    faster loading of databases and lower utilisation of memory resources.
71
72    Write support added to JPG plugin.
73   
74    Write + 3D texture support added to DDS plugin.
75   
76    Pseudo loaders .trans, .rot and .scale have been added.
77   
78    Updated LWO, AC3D, BMP, IVE and FLT loaders.
79   
80    osg::TexGenNode has been added to provide a mechanism for positioning
81    OpenGL's texture coordinate generation planes.
82
83    Fourteen new examples have been added:
84   
85        osgdem            a utility for creating large scale geospatial paged
86                          database
87
88        osgphotoalbum     an example of how to use PagedLOD to dynamic generate
89                          geometry for paged in imagery
90
91        osgbluemarble     an example of how to build PagedLOD database for
92                          paging imagery
93
94        osgtesselate -    an example of how to use osgUtil::Tesselate to
95                          tessellate polygonal boundaries
96
97        osgsimulation     an example of how to use various features in osgSim.
98
99        osgdepthshadow    an example of how to implement shadows use depth
100                          shadow textures.
101
102        osgsimplifier     an example of how to use the new osgUtil::Simplifier.
103
104        osgspacewarp      an example of how to create a special effect that
105                          depends upon tracking the modelview matrix.
106
107        osgdistortion     an example of how to use prerendering of a texture to
108                          create a distortion effect.
109
110        osgsimple         a bare bones example of how to create a simple viewer
111                          using a Windowing toolkit, in this example using
112                          Producer, but is written so the example could easily
113                          be modified to work with other Windowing toolkit.
114
115        osgkeyboardmouse  adding to keyboard and mouse functionality on the
116                          osgsimple base.
117
118        osgsimplepager    adding database paging support to the osgsimple
119                          example.
120   
121        osgmovie          an example which creates a quad to render a loaded
122                          movie file with - requires the LibMpeg3 (Linux) or
123                          Quicktime (OSX) plugin to work.
124       
125        osgvolume         an example that reads a stack of 2d images to create
126                          a 3D texture, and creates a scene graph using
127                          standard OSG components (osg::ClipNode,
128                          osg::TexGenNode, osg::Billboard and
129                          osg::TexEnvCombine) to create a per per lit volume.
130
131   
132    Wrapping up the complete 0.9.7 release is a wide range of smaller features
133    enhancement and many bug fixes.
134
135
1362nd October 2003 - OpenSceneGraph-0.9.6-2
137
138    >>> osgFX Special Effects nodekit (for bumping mapping & cartoon effects etc), support for double Matrix traversals,
139    >>> improved build support, thread safety and robustness.
140   
141    The new osgFX nodekit, written by Marco Jez, adds a set of decorator
142    nodes that add can be conveniently added above subgraphs in your scene
143    to add special a range of special rendering effects.  Effects include
144    AnisotopicLight, BumpMapping, Scribe, Specular Highlights and Cartoon
145    rendering.
146   
147    Support for double Matrices has been added with the new Matrixd class,
148    and complimented by the a Matrixf class.  The original Matrix class is
149    now a typedef which can be set to either Matrixf or Matrixd (which is
150    now the default),  When the Matrix typedef is set to Matrixd and the OSG and
151    dependent apps are recompiled all internal operations such a cull traversals
152    will now be double with double matrices which much improved numerical
153    precision, making it ideal for datasets where a large values are contained
154    with transforms in the scene graph (such as with whole earth databases),
155    and when a transforms are nested which creates requires concatenation of
156    a number of matrices to get the final model view matrices. 
157   
158    The osgGA::MatrixManipulators (which are used to control the camera
159    position) and osgProducer/OpenProducer have been moved across to using
160    exclusively double Matrices.  This has been done to improve numerical
161    precision when computing camera positions, whilst having little impact
162    on performance since camera operations are only done a small number of
163    times per frame.
164   
165    osg::Quat now supports doubles by default, but also allows users to select
166    float version osg::Quat simply by changing the osg::Quat::value_type typedef.
167   
168    Work has been on OpenThreads and OpenProducer, in particular to improve
169    thread safety and robustness on the Win32 platform.  Reported crashes
170    on exit from osgProducer::Viewer based apps, and freezes during runtime
171    have been fixed.
172   
173    Threading problems which caused crashes in recent updates of the Terrapage
174    loader have also been fixed, and additional internal changes have been made
175    to improve the Terrapage loader's ability to hit constant frame rates.   
176    Support has also been added for loading light points directly from the
177    Terrapage database.
178
179    A new .iv/.wrl loader plugin, written by Vivek Rajan, at Magic Earth,
180    has been added to the distribution which uses with OpenInventor or Coin
181    to load model, converting them into OSG equivalents.  Coin has support
182    for VRML97 models, so can be used to import such models into the OSG. 
183    Since the new plugin is dependent on OpenInventor or Coin the compilation
184    is optional, but off by default. To compile this plugin under Unix, set
185    the environmental variable USE_INVENTOR or USE_COIN and recompile. 
186    Windows .dsp project file does to current exist, but should be
187    possible to add this.
188   
189    The .ive plugin has been improved with the addition of support for
190    osgSim light points, and various internal refinements to make it function
191    better on the various platforms supported by the OSG.  Note, these changes
192    mean that the .ive format has has changed and is no longer compatible
193    with previous version of .ive. It is recommend that one recreates .ive
194    for the original source via osgconv or similar to ensure consistency.
195
196    A JPEG2000 image plugin has added, written by Michael Gronager.  The new jp2
197    plugin uses the japser open source project to read and write JPEG2000 files.
198   
199    A scalar bar, and sphere segment helper classes have been added to osgSim,
200    the new osgscalarbar and osgspheresegment examples demonstrate how to use
201    these new features.
202   
203    To help handle running applications of graphics cards/drivers that exhibit
204    bugs with certain OpenGL extensions, support has been added to the GLextensions
205    code to allow extensions to be disabled via the new
206    osg::setGLExtensionDisableString(std::string) function or by setting an
207    OSG_GL_EXTENSION_DISABLE environmental variables.  Follows is an example of
208    the disable string:
209   
210        set OSG_GL_EXTENSION_DISABLE =
211             "ATI:GL_SGIS_generate_mipmap;Sun:GL_EXT_texture_filter_anisotropic:"
212
213    New examples include:
214   
215        osgforest - an example which demonstrates simple techniques for creating forests   
216        osgfxbrowser - an example which demonstrates the various osgFX Effects available   
217        osgscalabar - an example of how to set up the osgSim::ScalarBar.
218        osgspheresegment - an example of how to set up the osgSim::SphereSegement
219        osgpagelod - a very simply test program for setting up osg::PagedLOD/osgDB::DatabasePager
220   
22123rd July 2003 - OpenSceneGraph-0.9.5
222
223    >>> Support added for OpenGL2.0 shaders, native multi-threaded Database paging,
224    >>> high peformance binary format reading and writing,  .dds compressed image
225    >>> loader and ARB_fragment_program and ARB_vertex_buffer_object extensions,
226    >>> improvements to the Terrex .txp and OpenFlight .flt loaders.
227
228    The key new features of the 0.9.5 release are the new OpenGL2.0 nodekit, constant frame rate
229    database paging support,  classes,  and the new native .ive binary plugin which supports
230    both reading and writing of all core osg nodes, including inlining of compressed
231    and non-compressed imagery.
232   
233    The native database paging support, provided by the new osg::PageLOD and osgDB::DatabasePager,
234    achieves constant frame rate through threading of the database reading, and time based
235    incremental compile and delete of display lists, vertex_buffer_objects and texture objects.
236    A new TextureObjectManager class also caches a list of expired texture objects for reuse,
237    and allows new newly loading imagery to reuse expired texture objects, with the imagery
238    automatically subloaded to the reused texture objects.  This reuse happens transparently
239    and benefits other OSG usages such as the OSG's Terrapage loader.
240   
241    To provide support multi-thread operation of the OSG, such as multi-thread database paging
242    and multi-threaded, multi-window graphics enabled by OpenProducer, the OpenSceneGraph and
243    OpenProducer have now adopted the OpenThreads threading library, osgDB and osgProducer now
244    depend upon it.  OpenThreads is open source, light weight, cross platform C++ threading
245    which encapsulates the low level, platform specific threading API calls.  Currently pthreads
246    under Unix and Win32 threads under Windows are supported, with Sgi sproc threads to be
247    released very soon.  The OpenThreads project website can be found at http://openthreads.sf.net.   
248
249    The new .ive binary plugin was developed by Uni-C's VR-Center, and kindly submitted as
250    open source, adds support for binary reading and writing OSG nodes drawable and state
251    (including compressed/mipmapped) textures.  The .ive format produces a much faster
252    load times and smaller file size then native ASCII .osg format. Load times for .ive
253    files are also 10-20x faster then equivalent OpenFlight .flt and load in an already
254    optimized scene graph form making it much more suitable for paging.  Files can be
255    converted easily using the osgconv utility : osgconv myfile.flt myfile.ive
256   
257    The new osgGL2 nodekit library adds support for the OpenGL2.0 vertex ProgramObect and fragment
258    ShaderObject's recently ratified by the OpenGL ARB, . The osgGL2 uses the extension have local
259    prototypes which allow them to be compiled even in the absence of OpenGL headers that don't
260    support the GL2 extension, allowing to port to all platform, and at runtime the extensions are
261    queried for and used if available.  At time of release only 3DLabs WildcatVP series supported
262    this extension at runtime, but other graphics cards and manufactures will be releasing GL2
263    extension very soon and will be automatically supported by osgGL2. The osgGL2 was developed
264    by Mike Weiblen at 3DLabs whom have kindly submitted osgGL2 as open source and for inclusion
265    with the OSG distribution. 
266
267    The ARB_fragment_program, ARB_vertex_buffer_object and ARB_vertex_program attributes are
268    also now supported in core osg library.  The new osg::FragmentProgram state attribute
269    encapsulates the ARB_fragment_program which is supported by the recent graphics cards
270    from NVidia, ATI and 3DLabs.  Support for ARB_vertex_buffer_object and ARB_vertex_program
271    attributes have been added to the osg::Geometry class.  The ARB_vertex_buffer_object extension
272    can boost performance by as much as 50% when working on geometry bound data sets.
273
274    Two new image loaders, dds and pnm, and a 3dc point cloud have been added. The .dds plugin
275    adds support for compressed & mipped mapped imagery, making it ideal for applications where
276    large texture sizes or database paging is required. The pnm image loader reads the
277    pnm, pgm and pbm image formats. See http://netghost.narod.ru/gff/vendspec/pbm/ for details.
278
279    The Terrapage .txp plugin  been updated to include support for multi-texturing, layers and billboards
280    and includes improvements to multi-threaded pager, which has also been ported over to use OpenThreads.
281    The OpenFlight .flt plugin has also been improved and now support detail textures via multi-texturing.
282
283    TessellationHints now supported by ShapeDrawable which allow the shape primitives to be rendered
284    are vary levels of detail.
285
286    Supported has been added for auto scaling and rotating text into osgText.
287
288    Five new examples have been included in the distribution:
289   
290        osgtexturerectangle illustrates how to use the osg::TextureRectangle which encapsulates
291        the NV_texture_rectangle extension.
292       
293        osgprerendercubemap illustrates how to use pre rendering imagery to osg::TextureCubeMap
294        for tasks such as building a environmental texture maps.
295       
296        slideshow3D is a presentation tool which use a scene graph to store a render set of slides, each
297        slide containing layers which can contain bullet points, paragraph, imagery and 3d animated
298        models - and is effectively a 3D power point. The presentations can be built separately and stored in a .osg file or created by
299        slideshow3D via an xml file, two examples - introduction.xml and models.xml, which are included
300        in the OpenSceneGraph-Data-0.9.5 data distribution.  slideshow3D depends upon libxml2 for parsing
301        the xml files.
302       
303        osgpoints uses the osg::Point state attribute to attenuate and control point size and any points
304        loaded by the application.  This is a useful way of visualizing point data clouds.
305       
306        osgdemeter is example of how to integrate the Demeter, OSG using osgProducer::Viewer as a viewer
307        class.  This example depends upon the demeter terrain engine, which can be download from
308        http://www.terrainengine.com.
309
310    Camera style convenience set and get methods to osgUtil::SceneView, consolidating
311    previous functionality that was provided by both osg::SceneView and osg::Camara into one place.
312    This move has made osg::Camera redundant so has it been removed to avoid confusion,
313    usage inconsistencies and bloat of core libraries.
314   
315    The long time deprecated osg::GeoSet has been removed, to aid migration of old .osg datasets
316    osgconv has a copy of GeoSet and the .osg support for it so is able to convert any remaining
317    .osg database which contained GeoSet's.
318
319   
320
32128th April 2003  - OpenSceneGraph-0.9.4-2
322
323    >>> Multi-threaded, multi-pipe support via integration with OpenProducer,
324    >>> 64bit Linux support for Intel Intanium and AMD Opteron,
325    >>> new osgText library with greater performance, and thread safety,
326    >>> new DDS plug-in for compressed and non-compressed images,
327    >>> new MD2 plug-in adds support for animate Quake character and
328    >>> support added for NV_texture_rectangle.
329
330    The most significant new feature is the osgProducer library that adds
331    tight integration with OpenProducer, providing the OpenSceneGraph with a
332    scalable, configurable and portable framework for developing real-time
333    and interactive graphics applications.  The scalability afforded by
334    OpenProducer allows applications to be developed which run seamlessly
335    on single pipe machines up to multi-pipe machines such as Sgi Onyx
336    IR system, and Sun Zulu systems.
337    The osgProducer/OpenProducer framework automatically handles the
338    multi-threading of cull-draw pairs and GUI events.
339
340    All the example programs have been ported over from being based on
341    GLUT to using osgProducer (osgGLUT can now be found in the bazaar
342    section on the website). The move to osgProducer allows all the examples
343    to scale from running on laptops up to multiple CPU and graphics pipe systems.
344    The configuration of threading and multiple camera views can all be done
345    via ASCII configuration files, no need to recompile.  A number of
346    new examples have also been added or revamped, bringing the total to 42.
347
348    Also in the theme of increasing scalability there is support for 64bit Linux for both
349    IA64 (Intel Itanium) and x86-64 (AMD Opteron) which compliments the existing
350    support for Solaris and IRIX 64 bit compilation.  64 bit supports allows
351    the use of very large data sets, and potential performance improvements.
352
353    To help support development teams working with multiple build configuration,
354    the makefile system has been extended to allow multiple build targets to be
355    built from one source code base.  All makefiles are also now named GNUmakefile
356    which ensures that they are only run by gmake to avoid an confusion on system
357    where gmake isn't the default make tool.
358
359    A completely new osgText implemention has been developed which is simpler
360    to use, faster, and thread safe.  Support for high quality true type fonts
361    has now been moved to a freetype plug-in which is dynamically loaded on demand,
362    with the core osgText library providing a default font when the plug-in is
363    unavailable.  Moving the freetype dependency out of the osgText library makes
364    it just dependant on OpenGL and Standard C++ like the rest of the core libraries,
365    allowing osgText to compile by default on all platforms.
366
367    Improved thread safety has also been achieved in the core osg and osgUtil libraries
368    making work on multiple CPU/multi-pipe systems robust and with improved performance.
369
370    Two new plug-ins have been added, for loading DDS and MD2 data formats. The DDS plug-in
371    is for loading compressed and non-compressed images.  The MD2 plug-in loads Quake
372    animated characters.
373   
374    osg::TextureRectangle class has been added, which encapsulates the
375    NV_texture_rectangle and EXT_texture_rectangle extensions.  This is particularly
376    useful for render to texture algorithms, and dynamic paging of images such as for
377    rendering video streams.
378
379    Support for automatic subloading of osg::Texture2D textures has been added
380    so that when image data is updated the corresponding OpenGL texture is
381    automatically updated - no need for callbacks.  Also added to the osg::Texture
382    classes is the option of automatic unref'ing of texture image data once the data has
383    been download to all active OpenGL graphics contexts.
384   
385    A new osgUtil::DelaunayTriangulator utility class has been added.  This is ideal for
386    creating optimal triangular meshes from unconnected data points.
387
388    Two new classes, osg::ArgumentParser and osg::ApplicationUsage, have been introduced
389    to convineiently and robustly parse command line arguments and
390    report command line usage, environmental variables and keyboard and mouse bindings
391    used by applications.  Running any of the examples with -h or --help will report
392    full details example usage.  Keyboard and Mouse bindings usage is now also available as
393    a HUD on all examples, simply press 'h' while the app is running to
394    bring up help.
395
396    A database cache in the osgDB library has been added, along with a clean up
397    of memory management in the OpenFlight loader, make development of
398    dynamic paging of databases easier and more robust.
399   
400    Support for early abort of rendering has been added, which is useful for
401    interactive applications which occasionally have rendering that takes that long
402    enough (i.e.several seconds) that end users may wish to abort during the drawing.
403
404    There have also been many general API improvements and bug fixes, too many to enumerate,
405    but all go to solidify the quality of the scene graph and its accompanying libraries. 
406   
407    The combination of new features, robustness and scalability mark this release as a
408    significant step towards 1.0. 
409   
410
411
41224th January 2003 - OpenSceneGraph-0.9.3.tar.gz
413
414    >>> adds support navigational light points, multi-threaded dynamic
415    >>> paging of Terrapage databases, ARB_vertex_program extension,
416    >>> DirectD .x model loader, and integration with OpenProducer for
417    >>> multi-threaded, multi-window/pipe rendering.
418
419    Added osgProducer library which integrates the OpenSceneGraph seemlessly
420    with OpenProducer to provide runtime configurable management of windows
421    and multipipe graphic systems.  The osgproducer demo illustrate how
422    developers can write applications very simply that harness the power
423    of the OpenProducer and OpenSceneGraph in an extremely flexible way.
424    OpenProducer can be downloaded from:
425    http://www.andesengineering.com/BlueMarbleViewer/producer_install.html
426
427    Support added for dynamic paging of Terrage databases, the required
428    multi-threading is set up by defult.  All the end user application need
429    to do is load the database and the paging then happens automatically -
430    without any need for intervention by the users application.
431
432    Addition of osgSim which is NodeKit designed for visual simulation
433    market, currently features high fidelity light points support.  Light
434    point sectors, blink sequences and groups, and light point fading are
435    all supported.
436
437    From Brede Johansen, support added for the ARB VertexProgram extension
438    with osgvertexprogram demo showing reflection and refraction in action, and
439    osgpbuffer demo for Win32.
440   
441    From Ulrich Hertlein, new DirectX .x model loader.
442
443    From Tree, Support for encoded text types in osgText.
444   
445    New osgshadowtexture demo which illustrates how to create
446    dynamic shadow textures in your scene.
447
448    New osglogo demo - features anti-aliased TrueType text and animation.
449   
450    The app phase of operations on the scene graph has been renamed
451    the update phase to make its function clearer. The main phases are now
452    named now does update, cull, draw.  The AppVisitor, set/getAppCallback etc
453    have be renamed UpdateVisitor, set/getUpdateCallback etc.
454
455    Removed the osg/ManagerManger and associated #define osgNew's, this has
456    been done to simplify users code and to solve the lack of thread safety
457    that was causing problems with the MemoryManager.
458   
459    Support added for reading and writing of callbacks in the .osg format.
460   
461    Support added for reading and writing of osg::Shapes in the .osg format.
462
463    Support added for reading OpenFlight comment records into osg::Node description
464    fields.
465   
466    Improvements to the GEO loaders.
467   
468    Numerous bug fixes and API refinements.
469
470
47113th November 2002 - OpenSceneGraph-0.9.2.tar.gz
472
473    >>> New AC3D and GEO loaders, new Shape primitives, improved OpenFlight support.
474
475    From Geoff Michel, AC3D .wc and Carbon Graphics GEO .geo loaders.
476
477    Support for multi-texturing added to OpenFlight loader.
478   
479    LOD has been revamped to allow independent min and max ranges for
480    each LOD child, bringing it inline with the OpenFlight style LOD
481    representation.
482
483    Switch has been revamped to allow independent switching on or off of
484    each Switch child, bringing it inline with the OpenFlight style Switch
485    representation.
486
487    New osg::Shape geometry primitives added which allow the specification
488    of geometry in a form that can accelerate collision detection, and as
489    a way of specifying the geometry to tessellate.  Shapes include
490    Sphere, Oriented Box, Cone, Cylinder, Grid, TriangleMesh, ConvexHull
491    and CompositeShape which allows the storage of a hierarchy of shapes.
492   
493    Geometry has been extended to all per primitive bindings and
494    per primitive set bindings of attributes, and indexing of attributes
495    with the same or different index lists for each attribute list.
496
497    From Macro Jez, new cubemap helper classes.
498
499    Support added for handling different extensions on different graphics
500    contexts.
501
502    Draw and Sort callbacks added to osg::RenderStage.
503
504    Added PolygonStipple class.
505   
506    Further refinement of class names and method calls:
507    Renamed classes :
508   
509        Primitive    -> PrimitiveSet
510       
511    Renamed methods :
512   
513        Geometry::addPrimitive(..) -> addPrimitiveSet(..)
514        Drawable::drawImmediateMode(..) -> drawImplementation(..) const
515        Drawable::DrawCallback::drawImmediateMode(..) -> drawImplementation(..) const
516   
517
51830th August 2002 - OpenSceneGraph-0.9.1.tar.gz
519
520    >>> Support added for 1D & 3D textures, texture env combiners, secondary color and fog coords, DOFTransform and Sequence nodes. Inventor/VRML and LWO2 loaders added and the a port HP-UX!
521
522    Despite only 6 weeks passing between 0.9.0 and this latest 0.9.1 release
523    there has been a number of significant new features, API clean ups and
524    bug fixes.  Follows is a quick run through the key improvements.
525
526    Addition of osg::Texture1D, Texture2D & Texture3D classes, Texture2D replaces
527    the original osg::Texture, which has now become a pure virtual base class. All
528    Texture classes, including TextureCubeMap are derived from this base class..
529   
530    New osgtexture1D and osgtexture3D demos demonstrate the new texture classes in
531    action.
532   
533    The build system has been updated to support HP-UX.  This adds one of the last
534    remaining mainstream platforms supported.
535
536    A new Inventor/VRML1.0 loader was added.  The inventor format has been requested
537    on numerous occasions, so this is a welcome addition.
538   
539    Support added to lwo plugin for loading the new lwo2 format.
540
541    osg::TexEnvCombine implemented texture_env_combine and texture_env_crossbar
542    and texture_env_dot3 extensions.
543
544    osg::TexEnv texture_env_add added.
545
546    A osg::Sequence node has finally been implemented.  It is accompanied by a
547    demo, osgsequence.
548
549    osg::DOFTransformNode implemented.
550
551    Support for OpenFlight15.7 added, DOFTransforms and general enhancements and
552    bug fixes.
553
554    New PROTECTED mode for protecting local state mode and attributes from be
555    overridden from state above it in the scene graph.
556   
557    Support for fog coord and secondary colors extensions added to osg::Geometry.
558
559    osg::Billboard has been improved to allow rotations around all axes, as well
560    as point rotations.  Check osgbillboard for a new improved demo.
561
562    The osglight example has been improved by utilizing AnimationPath and
563    PositionAttitudeTransform to keep light sources in motion.
564
565    osg::AnimationPath improved, now allowing swing and looping behavior and
566    with two new app callbacks which can update PositionAttitudeTransform
567    and MatrixTransform respectively.
568   
569    Support for writing osg::Image's to .rgb format added.
570
571    To keep the overall API clean, and the following items have been
572    renamed and deprecated parts of the API have been removed:
573
574    Renamed classes:
575
576            EarthSky        -> ClearNode
577            Transparency    -> BlendFunc
578            Texture         -> Texture2D  (old style subload parameters removed)
579
580    Method's changed
581
582            Matrix          -> makeRotate(..) euler angles parameters generalized.
583            Quat            -> makeRotate(..) euler angles parameters generalized.
584
585            BoundingBox     -> isValid() renamed valid()
586            BoundingSphere  -> isValid() renamed valid()
587
588            StateAttribute  -> OVERRIDE_OFF & OVERRIDE_ON which were short hand
589                               versions of OVERRIDE | OFF and OVERRIDE | ON
590                               removed, as the meaning of the bitmask was
591                               often confused by the short hand notation.
592
593
594            Transform       -> setMatrix/getMatrix() etc methods removed,
595                               Transform becoming the transform base class,
596                               with MatrixTransform taking over all the original
597                               functionality.
598
599
60019th July 2002 - OpenSceneGraph-0.9.0.tar.gz
601
602    >>> OpenSceneGraph goes beta - Multitexturing, Occlusion Culling, Particles and much more added!
603
604    This release marks the beginning of the beta phase of the OpenSceneGraph
605    development, which means that all the major core features are now
606    in the scene graph, and 1.0 is not far away.  Its performance, features
607    and portability already compares very favorably to other scene graphs,
608    both comerical and open source. 
609
610    Multi-texturing support added to osg::StateSet, osg::Geometry, osg::State
611    and txp loader, so multi-texturing can now be done with very little coding
612    from the user - all you need to do is specify the texture unit to use
613    when setting texturing state and texture coordinates and the rest is
614    handled automatically by the scene graph!
615   
616    The new osg::Geometry classes which supersedes the old Performer style
617    osg::GeoSet, support multi-texturing, and uses sharable osg::Arrays which
618    utilize std::vector<> for data storage and manipulation.
619
620    Shadow volume occlusion culling adding to the core OSG, developed as a
621    collobaration between Mike Connell and Robert Osfield. Our implementation
622    uses convex planer occluders, with support for holes to allow larger
623    and more effective occluders to be used. The approach is software
624    based so it 100% portable, and by culling during the cull traversal
625    both CPU and GPU loads are significantly reduced, making it an extremely
626    powerful feature for large scale urban and indoor visulisation.
627
628    osgParticle developed by Marco Jez adds support for a range of particle
629    effects such smoke, fires, engine plumes, fountains, fire works, and
630    is fully customizable to produce your own favorite effects. osgParticle
631    is a NodeKit (see below) which can be directly linked to in your
632    application to allow you to create particle effects by hand, or have
633    the library dynamically loaded in when you load a database which contains
634    particle effects.
635   
636    osgGA (Gui Abstraction) library written by Neil Salter adds classes for
637    adapting different GUI toolkits to work with a standard set of manipulators for
638    modifying the scene, such as camera and state manipulators.
639   
640    Support has been added to the plugin architecture to facilitate the
641    development of NodeKits - add on libraries which can used directly
642    in your code, or loaded indirectly when loading from file.  The
643    later allows you to load a .osg file with text or particle effects
644    in them,the plugin architecture automatically loads the required
645    library which supports these features.
646
647    A range of new demos have been as code examples, and to demonstrate
648    the range of features that OpenSceneGraph delivers:
649
650        osgoccluder  - demonstrates ocllusion culling, and has a mode
651                       which allows the users to interactively create
652                       their own convex planer occluders.
653        osghud       - how to mix head up display with 3d views.
654        osgparticle  - shows the new osgParticle node kit in action.               
655        osgprerender - pre renders and scene then textures the result onto
656                       an animated flag.
657        osgcallback  - examples of the full range of callbacks that you
658                       can use to add dynamic behaviors to your scene graph.
659        osglight     - a simple example of how to set up spot and position
660                       lights in the scene.
661        osgclip      - illustrates how to add clip planes to you scene.
662        osggeometry  - examples of the different ways to set up primitives
663                       and vertex/color/normal and texture attributes in
664                       the new osg::Geometry class.
665        osgmultitexture - a simple example which adds a spherical reflection
666                        map to a whole scene using the second texture unit
667                        if one exists.
668       
669    osg::Drawable::PrimtiveFunctor has also been added to allow querrying
670    of primitive data with Drawables subclasses without requiring knowledge
671    of the types of Drawable subclasses that exists.  This decoupling makes
672    it a very powerful and flexible utility.
673
674
67526th April 2002 - OpenSceneGraph-0.8.45.tar.gz
676
677    >>> Support added for Solaris, texture cube mapping & muliple projections.
678   
679    The OpenSceneGraph now has a new Makefile system which supports all Unix
680    compilation including the new addition to the family - Solaris! 
681
682    OpenSceneGraph welcomes Solaris to the list of supported platforms.  This
683    release puts all of the OpenSceneGraph functionality at the fingertips of
684    Sun Microsystem's customers and developers.  Solaris users can now have
685    the benefit of a high performance scene graph for visual simulation,
686    virtual reality, scientific visualization, CAD, and architectural
687    walk-throughs.  Many thanks to Sun for providing resources for the port.
688   
689    Additional html documentation has been added to the distribution to
690    make it easier to get an understanding of scene graph technology and
691    the project itself and how to make use of it. 
692
693    Support has also been added for OpenGL's texture cube mapping which
694    is ideal for accurate environmental reflections and much more.
695   
696    The scene graph has been extended to allow multiple projection (via
697    the new osg::Projection node) and viewports within one scene graphs,
698    this makes it much easier to set up head up displays, and we have
699    an example to demonstrate how easy it is - osghud.
700   
701    The osgUtil::CullVisitor and osgUtil::SceneView has been revamped
702    removing the dependency on osg::Camera, which is now simply an
703    option for SceneView rather than a requirement.  This allows users
704    to set the camera entirely with the scene graph or create their own
705    camera classes and use them with SceneView.  The existing osg::Camera
706    has also been simplified as support for setting projection and
707    modelview matrices have been moved out to the cull traversal.
708   
709    Several sets of node callbacks have been added, including a Cull
710    NodeCallback on each Node, ComputeTransformCallback on Transform
711    Nodes, EvaluateLODCallback on LOD nodes, ComputeBillboardCallback
712    on Billboard nodes.  These make it my easier to customize the
713    scene graphs behavior at runtime.
714   
715    osg::Image::readPixels() and support for writing .bmp files has been
716    added which has made it easy to add screen capture the any OpenSceneGraph
717    application.  This feature is demonstrated in the scene graph viewer
718    which comes with the distribution - just press 'O' to output a screenshot.
719   
720    Finally, include/osg/MemoryManager has been added which overrides new
721    and delete for debug builds. The override new and delete track allocations
722    and deallocations, ensure they are matched, checked for memory under and
723    overruns, and outputs a memleaks.log file on the results of executing
724    your applications.  This help track down a number of memory leaks and
725    unmatched new and deletes within the OpenSceneGraph and should make
726    it easier to do with users applications as well.
727   
728    All in all, the OpenSceneGraph is now more portable, easier to
729    customize, cleaner and more robust.  Beta release and 1.0 is now not
730    far away!
731   
732
73324th February 2002 - osg-0.8.44.tar.gzosg-
734
735    >>> Support added for Mac OSX, Cygwin and MinGW, and new TerraPage loader.
736   
737    The major item for this release is the completion of the Mac OSX port,
738    thanks to Phil Atkin and others for making this happen.
739   
740    Also added to support for Cygwin and MinGW builds which gives Windows
741    users a free and robust alternative to the Visual C++, which we
742    have Norman Vine to thank.
743   
744    Funtionality wise there has been a great deal of work behind the scenes
745    putting in place a flexible and extensible framework for handling
746    transform nodes, users can now extend the osg::Transform node through
747    subclassing or via callbacks.  This work will underpin future work
748    on moving camera setup into the scene graph, and environmental effects
749    such as cloud layers, ground planes, stars and earth sky implementations
750    which are planned for the next release.
751   
752    Callbacks and virtual methods have also been added to the osg::LOD &
753    osg::Billboard to allow users to customize their behavior.  Draw
754    callbacks have also been added to allow customization of osg::Drawables
755    at runtime.
756   
757    The Open Flight .flt loader has undergone a number of improvements
758    including support for instancing and billboards.
759   
760    New TerraPage (.txp) loader and OpenDX writer (.dx) plugins have been added.
761   
762    Support for the clone operation on osg::Object's has been expanded
763    to allow cloneType() - a simple clone an blank object of the same type,
764    and clone(CopyOp&) where CopyOp is a functor which allows users to
765    specify the deep copy vs shallow copying of object data.
766   
767
7682nd January 2002 - osg-0.8.43.tar.gz
769
770    >>> Support for TrueType text, Stereo out of the box, and much more.
771   
772    Since the last release the OSG has moved to CVS based developments so
773    many users will have seen gradual increments in functionality and changes
774    to the API. Whereas a the leap from 0.8.42 to 0.8.43 is actually quite
775    significant is likely to require code changes as several significant parts
776    of the API have evolved to a more mature state.
777   
778    The most significant new functionality is the addition of the osgText
779    library which provides support for true type font rendering, as textured,
780    polygonal, pixmap, bitmap and 3D fonts.
781   
782    We now have new osg::Matrix implementation which cleans up its interface.
783    Also all angular parameters are now based on radians rather than degrees
784    as before (and as in Performer), this has been done to be more consistent
785    with the basic trignometric functions and standard maths conventions.
786   
787    Scene graph optimization has been added which can boost performance
788    on some database by as much as an order of magnititude, this is
789    particularily noticable in .flt based databases.  Display list performance
790    has also been boosted on NVidia based machines thanks to changing the
791    compilation and execution of display list into two seperate operations.
792   
793    App callbacks are now supported on all Nodes, and there now a proper
794    app traversal which can be used to animate the scene.
795   
796    Stereo support has been added into the osgUtil::SceneView which allows
797    quad buffered/anaglyphic stereo to enabled easily for almost all OSG
798    applications without code modifications - simple set environmental
799    variable or pass in appropriate arguments and your app will render in
800    stereo!
801
802    src/Demos/osgcluster has been added to demonstrate how easy it is
803    to set up a graphics cluster across a standard networked PC's.
804
805    There have been many minor code changes to fix bugs and address
806    performance bottlenecks or to improve extensibility was, representing
807    a significant step towards API maturity and a beta release which is
808    now not far away.
809
810
8119th August 2001 - osg-0.8.42.tar.gz
812
813    >>> New osgWX library for integration of OSG with wxWindows apps.
814
815    This release sees a relatively minor number of enhancements over
816    0.8.41, the most significant being the new osgWX library and wxsgv
817    demo written by Ben Discoe.
818   
819    Also from Brede Johansen in this release is the improvements in support for older
820    .flt (Open Flight) files such versions 12 & 13.  Previously only version
821    15.6 files had been tested and developed to.
822   
823    Last but by no means least, several bug fixes related to view frustum
824    culling have been made.
825
826
82725th July 2001 - osg-0.8.41.tar.gz
828
829    >>> Support added for multi-pass and multi-stage rendering including Impostors.
830
831    The key feature developed is a highly flexible framework for multi-pass and
832    multi-stage rendering techniques.  Unlike most scene graphs and games
833    engines the OSG has as dynamic framework which automatically configures
834    itself at runtime.
835
836    Building ontop of the new framework's multi-stage rendering capabilities,
837    support for Impostors (hirachical image caching) has been integrated into
838    the core scene graph  library making extremely easy to take advantage of
839    this advanced rendering techinque - normally only seen in research papers.
840    Check out osgimpostor demo to see how easy it is to add osg::Impostor
841    nodes to your own models. Impostors are particularily effective are
842    reducing scene complexity whilest minimizing the visual impact, making it
843    ideal for scenes with large numbers of complex objects such as a city
844    scene, or a dense forest.
845   
846    Taking advantage of the new framework's multi-pass rendering capabilities
847    is osgreflect demo which illustrates how to achieve planar relfections
848    using the stencil buffer and multi-pass rendering.
849   
850    The cool thing about both the osgreflect and osgimpostor demos is that
851    there is no hardwiring to achieve the results, the scene graph stores
852    all the information neccessary to specify the number and type of rendering
853    passes, and the framework handles the rest behind the scenes.  This also
854    makes it very easy to add these advanced rendering techinques to your
855    own applications as everything is cleanly encapsulated with
856    osgUtil::SceneView.
857
858    New loaders have been added to support .lwo (Light Wave), .obj
859    (Alias Wavefront) and .dw (Design Workshop) 3D file formats making it
860    even easier to compose your own worlds from models sourced from the
861    web or your own.
862   
863    osg::Camera has been totally revamped and now supports asymetric
864    and othographics projections in addition to the symetrical perspective
865    projections.
866
867    And finally, support for texture subloading has been added to osg::Texture
868    and osg::Image.  This allows textures to be updated dynamically, and
869    has already been used for mpeg video playback!   
870
871
87219th May 2001 - osg-0.8.40.tar.gz
873
874    >>> Project lead, Robert Osfield, makes full-time commitment to OSG.
875
876    This is the first full release since project lead, Robert Osfield, made
877    a move to pursue the OSG's development full-time.  This commitment has
878    been made to bring the API rapidly towards maturity, and to provide
879    high quality support and consultancy services.  Please contact
880    robert@openscenegraph.com if you have any queries.
881
882    This release marks a significant step forward in the maturity of the
883    API, with several major changes to the library in the areas of state
884    handling, database support, and portability.
885
886    To improve the extensibility of the OSG's handling of OpenGL state,
887    new classes have been introduced to replace the previous hardwired
888    state handling classes.  The new classes also allow improved state
889    sorting and lazy state updating which boosts both cull traversal
890    and particularly draw traversal performance.
891
892    To improve the modularity, interopability and conceptual clarity the
893    support classes for database loading have been moved from the core
894    osg library into their own osgDB library.  Support for the .osg
895    ASCII native database format and the .rgb reader has moved into its own
896    osgPlugins library to further the cleanliness of the core library.
897
898    Support has be added for multiple OpenGL context's and hence multi-pipe
899    systems such as sgi's Onyx2, allowing each context to have its own
900    display list and texture objects.
901
902    The culler and rendering support in osgUtil has also been improved, and
903    significantly speeded up for complex models.
904
905    Also just in, thanks to Randall Hopper for adding support for FreeBSD :-)
906
907   
90823rd March 2001 - osg-0.8.39.tar.gz
909
910    >>> Port of OSG to MacOS underway
911
912    The first steps towards support of MacOS have been taken by Bryan Woods,
913    adding Metrowerks project files and adding support for MacOS into the
914    core scene graph.  Work still in progress so assistance welcome to
915    complete the task.
916
917    Other major developments have been the addition of two new base classes
918    osg::StateAttribute and osg::Drawable which are designed to allow greater
919    extensibility of OpenGL state management and primitives.
920
921
92217th Feburary 2001 - osg-0.8.38.tar.gz
923
924    >>> New 3DS loader added
925
926    The OpenSceneGraph now supports the 3DS file format. This makes
927    available a huge range of potential models. Check out
928    http://www.3dcafe.com or http://www.3drocketfuel.com for some juice.
929
93010th Feburary 2001 - osg_src-0.8-37.tar.gz
931
932    >>> Texture compression now supported
933
934    The OpenSceneGraph now provides support for ARB and S3TC texture
935    compression. This allows more textures to be loaded onto graphics
936    card memory, resulting in happier users and a better world in which
937    to live.
938
939    This release also sees the addition of a simple hang gliding flight sim
940    demo.
941
94225th January 2001 - osg_src-0.8-35.tar.gz
943
944    >>> Anisotropic texturing now supported <i>and</i> loading of gzip compressed files
945
946    Anisotropic texturing provides for the next step in quality texturing
947    filtering above tri-linear and is especially effective when viewing
948    texture surfaces at shallow angles.
949
950    Also added in this release is on-the-fly support for loading gzipped
951    (.osgtgz, .tgz) and zipped (.zip) database files.  This features allows
952    users to store whole databases (models and textures) in a single
953    tar ball and unpack them automatically on running the osg.  This
954    is ideal for browsing the web.
955
95622nd December 2000 - osg_src-0.8-33.tar.gz
957
958    >>> Support added for OpenGL vertex arrays, and several key image loaders.
959   
960    Support for OpenGL vertex arrays has been added to improve performance,
961    particularly accelerating PC based graphics.
962
963    Also added is support gif, jpeg, pic, tga, tiff image formats via
964    dynamic plugins.
965
9668th Decemeber 2000 - osg_src-0.8-32.tar.gz
967
968    >>> New high resolution, low latency timer class - osg::Timer.
969
970    Real-time graphics relies upon accurate timers for updating physics
971    simulations and managing constant framerates.  The OSG now provides
972    osg::Timer which, when supported, takes advantage of hardware timers.
973
974
97518th November 2000 - osg_src-0.8-29.tar.gz
976
977    >>> Support for detail drawing with osg::PolygonOffset.
978
979    Rendering of polygons which overlay underlying geometry, such
980    as white lines on a runway, can now be achieved utilizing the
981    new osg::PolygonOffset which encapsulates glPolygonOffset to
982    avoid z fighting which otherwise hampers such detailing.
983
98410th November 2000 - osg_src-0.8-28.tar.gz
985
986    >>> New Open Flight .flt loader!
987
988    Thanks to Brede Johansen submission of .flt loader, the OSG can now
989    read Open Flight .flt databases.
990
9913rd November 2000 - osg_src-0.8-26.tar.gz
992
993    >>> Driving and Flight modes have been added to viewers.
994
995    osgUtil::DriveManipulator and osgUtil::FlightManipulator have been
996    added to allow the scene graph viewer (sgv) and other viewers to
997    support a drive and flying modes.  These modes can be accessed
998    in sgv by pressing '2' and '3' respectively ('1' returns to
999    trackball manipulator).  Left mouse button accelerates forward,
1000    middle stops motion and right deccelerates.
1001
Note: See TracBrowser for help on using the browser.