diff --git a/doc/introduction.html b/doc/introduction.html index e0530d225..24b8c0fde 100644 --- a/doc/introduction.html +++ b/doc/introduction.html @@ -1,344 +1,460 @@ - + - - - Introduction to the OpenSceneGraph + + + Introduction to the OpenSceneGraph - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
IndexIntroductionContentsInstallDependenciesexamplesDataViewerStereoPlanReference Guides
IndexIntroductionContentsInstallDependenciesexamplesDataViewerStereoPlanReference Guides
-

Introduction to the OpenSceneGraph

- -

The OpenSceneGraph is an portable, high level graphics toolkit for the development of high peformance -graphics applications such as flight simulators, games, virtual reality or scientific visualization. -Providing an object orientated framework on top of OpenGL, it frees the developer -from implementing and optimizing low level graphics calls, and provide many additional utilities for -rapid development of graphics applications. -

+

The OpenSceneGraph is an portable, high level graphics toolkit for +the development of high peformance +graphics applications such as flight simulators, games, virtual reality +or scientific visualization. Providing an object orientated framework +on top of OpenGL, it frees the developer +from implementing and optimizing low level graphics calls, and provide +many additional utilities for rapid development of graphics +applications.

-The project was started as a hobby by Don Burns in 1998, as means of porting a hang gliding simulator written on top of the -Performer scene graph running on IRIX to what was then a humble Linux PC. In 1999, Robert Osfield began helping out with -the simulator development and ported the scene graph element to Windows. In september 1999 the source code was open sourced, -and the openscenegraph.org website was born, with Robert taking over as project lead and Don remaining focused on the hang -gliding simulator. - -

In April 2001, in response to growing interest in the project around the world, Robert went fulltime -on the project, setting up OpenSceneGraph Professional Services providing commericial support, -consultancy services and training. At the end of 2001 Don also formed his own company Andes Computer Engineering -and participates in the development and support of OpenSceneGraph as well as complimentary projects like -OpenProducer and BlueMarbleViewer. - - -

-What is a Scene Graph?

+The project was started as a hobby by Don Burns in 1998, as means of +porting a hang gliding simulator written on top of the Performer scene +graph running on IRIX to what was then a humble Linux PC. In 1999, +Robert Osfield began helping out with the simulator development and +ported the scene graph element to Windows. In september 1999 the source +code was open sourced, and the openscenegraph.org website was born, +with Robert taking over as project lead and Don remaining focused on +the hang gliding simulator. +

+

In April 2001, in response to growing interest in the project +around the world, Robert went fulltime on the project, setting up OpenSceneGraph Professional +Services providing commericial support, consultancy services and +training. At the end of 2001 Don also formed his own company Andes Computer Engineering +and participates in the development and support of OpenSceneGraph as +well as complimentary projects like OpenProducer and BlueMarbleViewer. +

+

What is a Scene Graph?

Its a tree! Quite simply one the best and most reusable data structures -invented. Typically drawn schematically with the root at the top, leaves at the -bottom. It all starts with a top-most root node which encompasses your whole -virtual world, be it 2D or 3D. The world is then broken down into a hierarchy -of nodes representing either spatial groupings of objects, settings of the -position of objects, animations of objects, or definitions of logical relationships -between objects such as those to manage the various states of a traffic light. +invented. Typically drawn schematically with the root at the top, +leaves at the +bottom. It all starts with a top-most root node which encompasses your +whole +virtual world, be it 2D or 3D. The world is then broken down into a +hierarchy +of nodes representing either spatial groupings of objects, settings of +the +position of objects, animations of objects, or definitions of logical +relationships +between objects such as those to manage the various states of a traffic +light. The leaves of the graph represent the physical objects themselves, the drawable geometry and their material properties. -

-

A scene graph isn't a complete game or simulation engine, although it may +

+

A scene graph isn't a complete game or simulation engine, although +it may be one of the main components of such an engine; it's primary focus is -representation of your 3d worlds, and efficient rendering thereof. Physics models, -collision detection and audio are left to other development libraries that +representation of your 3d worlds, and efficient rendering thereof. +Physics models, +collision detection and audio are left to other development libraries +that a user will integrate with. The fact that scene graphs don't typically -integrate all these features is actually a really good thing: it aids interoprability -with clients' own applications and tools and allows it to serve many varied +integrate all these features is actually a really good thing: it aids +interoprability +with clients' own applications and tools and allows it to serve many +varied markets from games, visual simulation, virtual reality, -scientific and commercial visualization, training through to modeling programs. +scientific and commercial visualization, training through to modeling +programs.

- -

Benefits that Scene Graphs provide

- -The key reasons that many graphics developers uses scene graphs are Performance, Productivity, Portability and Scalability: - +The key reasons that many graphics developers uses scene graphs are Performance, +Productivity, Portability and Scalability: - -

-The OpenSceneGraph - a robust, high peformance Open Source scene graph

-With the OpenSceneGraph our goal is make the benefits of scene graph technology -freely available to all, for both commericial and non commericial users. Whilst our scene graph +The OpenSceneGraph - a robust, high peformance Open Source +scene graph +With the OpenSceneGraph our goal is make the benefits of scene graph +technology freely available to all, for both commericial and non +commericial users. Whilst our scene graph is still in development, it has already gained a respect -amongst the development community for its high performance, cleanness of +amongst the development community for its high performance, cleanness +of design and portability. Written entirely in Standard C++ and OpenGL, it -makes full use of the STL and Design Patterns, and leverages the open source +makes full use of the STL and Design Patterns, and leverages the open +source development model to provide a development library that is legacy free and focused on the needs of end users. The OpenSceneGraph delivers on the four key benefits of scene graph technology outlined above with the following features: - -All the source to the OSG is published under the Open Scene Graph Public License -(a relaxed version on the LGPL) which allows both open source and closed source projects to use, -modify and distribute it freely as long its usage complies with the OSGPL. -The project has been developed over the last four years, initiated by Don -Burns, and then taken over by Robert Osfield who continues to lead the project -today. There are many other contributors to the library, for a full list -check out the AUTHORS file. Both Robert and Don now work on the OpenSceneGraph -in a professional capacity providing consultancy and bespoke development +All the source to the OSG is published under the Open Scene Graph +Public License +(a relaxed version on the LGPL) which allows both open source and +closed source projects to use, +modify and distribute it freely as long its usage complies with the +OSGPL. +The project has been developed over the last four years, initiated by +Don +Burns, and then taken over by Robert Osfield who continues to lead the +project +today. There are many other contributors to the library, for a full +list +check out the AUTHORS file. Both Robert and Don now work on the +OpenSceneGraph +in a professional capacity providing consultancy and bespoke +development on top the library, and are also collaborating on the book. Work on the -core scene graph and support of public mailing list remains unpaid as are -the contributions of the rest of the community, but this hasn't impacted -the quality of the source or support which once you get stuck in you grow +core scene graph and support of public mailing list remains unpaid as +are +the contributions of the rest of the community, but this hasn't +impacted +the quality of the source or support which once you get stuck in you +grow to appreciate. -

The project is currently in beta, which means the main core features are now in -place, with a 1.0 release in second half of 2003. Despite the beta development status, -the project has already earned the reputation as the leading open source scene -graph, and is establishing itself as a viable alternative to the commercial -scene graphs. Numerous companies, university researchers and graphics enthusiasts -have already adopted the OpenSceneGraph for their projects, all over the world. -Examples of the wide variety of applications already developed ontop of the OpenSceneGraph include - Blue Marble Viewer, - Virtual Terrain Project, - Combat Simulator Project, - OSG-Edit. This is just a snippet of the projects - that use the project, more examples can be found on the screenshot pages and bazaar on the website. +

The project is currently in beta, which means the main core features +are now in +place, with a 1.0 release in second half of 2003. Despite the beta +development status, +the project has already earned the reputation as the leading open +source scene +graph, and is establishing itself as a viable alternative to the +commercial +scene graphs. Numerous companies, university researchers and graphics +enthusiasts +have already adopted the OpenSceneGraph for their projects, all over +the world. Examples of the wide variety of applications already +developed ontop of the OpenSceneGraph include Blue +Marble Viewer, Virtual Terrain +Project, Combat +Simulator Project, OSG-Edit. +This is just a snippet of the projects that use the project, more +examples can be found on the screenshot pages and bazaar on the +website.

- -

Getting started

-The first thing is to select the distribution which suits you, there are +The first thing is to select the distribution which suits you, there +are binary, development and source code distributions, these can be loaded from the http://www.openscenegraph.org/download -page. The latest developments area available as via a nightly tarball or +page. The latest developments area available as via a nightly tarball +or via cvs.

The binary distribution contains just the libraries (.dll's /.so's) -and example executables. This is suitable for using the OpenSceneGraph with +and example executables. This is suitable for using the OpenSceneGraph +with an application that has already been compiled but depends at runtime on the OpenSceneGraph.

The development distribution contains the libraries (.dll's /.so's), -example executables, include files, and source to the examples. This is suitable +example executables, include files, and source to the examples. This is +suitable for developers using the OpenSceneGraph.

The source distribution contains all the source and include files required to build the OpenSceneGraph from scratch, and is ideal if you -want to learn more about how the scene graph works, how to extend it, and +want to learn more about how the scene graph works, how to extend it, +and to track down and fix any problems that you come across.

-

If you are using a source distribution then read the installation +

If you are using a source distribution then read the installation instructions for how to get the OpenSceneGraph compiling and installed -on your system. You may also need to download libraries that parts of the -OpenSceneGraph depend upon, such as Producer. Check the dependencies +on your system. You may also need to download libraries that parts of +the +OpenSceneGraph depend upon, such as Producer. Check the dependencies list for further details.

-

For full instructions of how to run the examples read the examples +

For full instructions of how to run the examples read the examples page.

-

Learning how to use the OpenSceneGraph

-

The OpenSceneGraph distribution comes with a reference guide for each of -the component libraries - osg, osgDB, osgUtil, osgText, osgSim, osgParticle and osgProducer, a set -of 42 examples - the source of which can be found in examples/ directory in the distribution. For questions -or help which can't be easily be answered by the reference guide and examples -source, one should join the mailing list (details below). There are also -the beginnings of a Wiki +

The OpenSceneGraph distribution comes with a reference guide for +each of +the component libraries - osg, osgDB, osgUtil, osgText, osgSim, +osgParticle and osgProducer, a set +of 42 examples - the source of which can be found in examples/ +directory in the distribution. For questions +or help which can't be easily be answered by the reference guide and +examples +source, one should join the mailing list (details below). There are +also +the beginnings of a Wiki based FAQ which may help answer a few of the common queries.

-

A programming guide will be available in form of a OpenSceneGraph book -which is being written by Don Burns and Robert Osfield, parts of it will +

A programming guide will be available in form of a OpenSceneGraph +book +which is being written by Don Burns and Robert Osfield, parts of it +will be available online.

Although not directly related to the OpenSceneGraph, once can learn -about scene graph technology from such sources as the Open -Inventor Mentor, and Performer +about scene graph technology from such sources as the Open +Inventor Mentor, and Performer Programming Guides. The latter is the closer in design to -the OpenSceneGraph, although the Performer manuals are in C, alas. Also of use -as a background to some of the techniques used is a SIGGRAPH Vis-Sim +the OpenSceneGraph, although the Performer manuals are in C, alas. Also +of use +as a background to some of the techniques used is a SIGGRAPH Vis-Sim course.

-

The OpenSceneGraph uses OpenGL and does so with a deliberately thin layer, -making it easy to control the underlying OpenGL and to extend it with OpenGL -extensions. The close tie with OpenGL is also reflected in the naming of +

The OpenSceneGraph uses OpenGL and does so with a deliberately thin +layer, +making it easy to control the underlying OpenGL and to extend it with +OpenGL +extensions. The close tie with OpenGL is also reflected in the naming +of many of the OpenGL state related classes, and the parameters that they -encapsulate, which means that knowledge of OpenGL itself will go a long way +encapsulate, which means that knowledge of OpenGL itself will go a long +way to understanding how to get the best out of the OpenSceneGraph. To this -end it is worth obtaining a copy of the OpenGL programming guide - `Red -Book` and OpenGL reference guide 'Blue Book'. The main OpenGL +end it is worth obtaining a copy of the OpenGL programming guide - `Red +Book` and OpenGL reference guide 'Blue Book'. The main OpenGL website is also a good source of links and further information.

-Support and discussion - the openscenegraph-news mailing list

+Support and discussion - the osg-user mailing list For scene graph related questions, bug reports, bug fixes, and general -design and development discussion one should join the openscenegraph-news -mailing list, and check the the mailing list archives. -

Professional support is also available in the form of confidential online, -phone and onsite support and consultancy, for details contact Robert Osfield +design and development discussion one should join the osg-user +mailing list, and check the the mailing list archives. +

Professional support is also available in the form of confidential +online, +phone and onsite support and consultancy, for details contact Robert +Osfield at robert@openscenegraph.com. +