OpenSceneGraph/TODO
2001-09-22 02:42:08 +00:00

148 lines
6.1 KiB
Plaintext

OSG TODO List
=============
Main categories
===============
o Core OSG Library
- the core OSG library itself (include/OSG and src/)
o Reader/writer plug-ins
- the reader/writers plug-ins for third party file formats.
o Viewers & Application plug-ins
- osg viewers and plug-ins to third party applications such as Netscape.
o Under development
- listing of TODO items which are currently under developement.
o Work completed
- listing of TODO items which have been done and hence removed
from the above TODO catagories.
--
o Core OSG Library
================
- General
. Header & code documentation/reference guide.
. Programming guide.
. Naming conventions.
. mutli-threading/shared memory support.
- Maths
. full maths support in osg::Matrix class.
. double matrix class.
. osg::Plane class.
- Nodes
. add osg::Sequence for basic animation.
. add osg::Morph for interpolating between geometries.
. add osg::Engine.
. add support for Multi-texturing into osg::GeoSet/osg::GeoState.
. add support for pixel/vertex shaders into osg::GeoSet/osg::GeoState.
. utilise stl vectors for osg::GeoSets?
. add handling of memory of osg::GeoSet's attributes.
. add osg::Terrain node.
. add osg::EarthSky class for rendering earth and sky backgrounds.
. add proxy node for lazy loading of nodes, when needed.
. implement visual proximity to assist loading of proxied data
when the view frustum nears an unloaded proxy node, and deleting
of unused proxied data.
. implement support for modified status/lazy evaluation of node data
and observer style pattern.
. manipulator decoration nodes?
. spacial subdivision decoration nodes?
- Visitors
. improve state sorting of opaque bins in osg::RenderBin.
. add statistics visitor for logging the stats of the scene graph.
. add OpenGL picking visitor.
- IO/Plug-in support
. improve the ascii parsing class osg::Field, osg::FieldReader etc.
. change the osg::Registry to timestamp registrations of objects/RW's.
. add support for file path logging into osg::Input.
. add binary data reading and writing into osg::Input/osg::Output to
support part binary .osg files.
. return error messages of on failed loading/saving.
o Reader/writer plug-ins
=======================
- .iv/.wrl Inventor/VRML ascii.
- .dxf Autocads ascii format.
- .dem digital elevation map.
- .d3d? MS's Direct 3D file formats if they have one..
- .bmp Windows Bitmap files.
- .Z Automatic unzipping of Unix Compress files.
- .tar Automatic unpacking of directories and loading of contents.
o Viewers & Application plug-ins
===============================
- OSG scene graph viewer - sgv.
. add command line reading for specifying data search paths and data,
-D for data search path, -d for data.
. add command line reading for specifying library search paths and
libraries/plug-ins, -D for library search path, -l for libraries.
- Internet Explorer plug-in.
- .osg to Inventor file plug-in.
- Tutorials example programs.
o Under development
=================
Sign up here if would like to take on a task :-)
- add osg::Billboard for trees etc.
- full maths support in osg::Matrix class.
- Netscape plug-in.
- add osg::Channel/sgCamera class.
- .pfb loader for Performer binary files (functioning already.)
- .flt Open Flight format (functioning already.)
- .3ds 3D Studio format (functioning already.)
- autoconf/configure support to aid portabilty to other unix's.
- CVS support for when source is made fully public.
- Mac port.
- tri stripping visitor.
- .obj Alias wavefront's format.(functioning already.)
- .lwo Light Waves's format.(functioning already.)
o Work completed
==============
- osg namespace implemented.
- reduce the STL platform specific #ifdef's.
- remove using namespace from all header files, so not to pollute user space.
- remove the sg prefix from sgNode etc, now that the osg namespaces exits.
- FAQ for distribution and web site.
- full maths support in osg::Vec2, osg::Vec3 and osg::Vec4.
- change the osg::Registry to use plug-in RW's on loading a plug-in
instead of the plug-in functions found in sg.cxx.
- add support for removal of plug-ins from osg::Registry,
- add .osg support into DCS node.
- clean up inheritance relationship between osg::Node, osg::Object etc.
- add osg::Switch for handling optional rendering of children.
- add osg::LOD (level of detail) group node for load management.
- add view frustrum culling into osg::RenderVisitor.
- add support for mutliply referenced nodes into osg::Input.
- add a quaternion class.
- improve osg::BoundingBox and osg::BoundingSphere.
- add hit and intersect classes for collision detection.
- add intersect visitor.
- add camera manipualotors for trackball, drive and flight mouse control.
- add compile OpenGL display lists visitor (currently in sgv).
- library version and description functions.
- add support for OpenGL Vertex Array into osg::GeoSet.
- .gif GIF Images!
- .jpg JPEG Images.
- .tiff TIFF Images.
- .png PNG Images.
- .tga TGA Images.
- .pic PIC Images.
- add timing/timestamp class.
- document how to get the OSG compiled and running under all
platforms, Win32 being priority as it's the least obvious.
- .gz (as osgtgz and .tgz) Automatic unzipping of GNU zipped files.
- .zip Automatic unzipping of windows zipped files.
- add osg::State for mainting image of the OpenGL state.
- improve osg::GeoState -> improved version call osg::StateSet.
- create a base class to provide interface to objects which can render,
derive osg::GeoSet from this.
- add support for multi-pass rendering.