From 59e2fa89b7ef2d9c30339e93e256e50527e66d50 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 25 Apr 2002 06:27:09 +0000 Subject: [PATCH] Fixed spellings in introduction.html, and update osgtext and osgviews images. --- doc/images/osgtext.jpg | Bin 1718 -> 5499 bytes doc/images/osgviews.jpg | Bin 1759 -> 3079 bytes doc/introduction.html | 528 +++++++++++++++++++--------------------- 3 files changed, 255 insertions(+), 273 deletions(-) diff --git a/doc/images/osgtext.jpg b/doc/images/osgtext.jpg index 4e550e6de950a586fbf4c66114ca2b0928594ae4..c6b5010787a545fba7d77d02889065ca0b213022 100644 GIT binary patch delta 4929 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 delta 1118 zcmV-k1fl!;Dz*)fqysVlUa_ah0e|y~D5AY%Frtbm0HTU00HTU00HTU00HTU00HTU0 z16N5^`!)Q9A}*1sLnLb865w{Iqwuugy7%?qc>ju=O(?j8QY{{Y$3jf}r^ zN2-YTZt}&6+n@XSS<0;kvyc7*{{R5i7@VPM{0P!_z>@#OOHGf>^uh>uj02fbdIa@e~R9-Q~lYdz#jchz@w0|%70W3~a zCf$<%0JneO6b;4LjK7y^an}}+asL30)r)J=Y}#2MvtkZe&whB0!9A-#MPwIN@w>PnFq13{{ZajNc7_#b8D!-vse-Qq!nJ@2Nj}E z<^KQxkE~_VcWE#Ccm4r`MHE-AbsD-*2G39gWEG1b{{YuTrd>P_adiX2qCqKGN(GE4 z$sC^jy8dFM(Vf;C!G9cXL5+91+$<$V;rv8n+N6@&8J~Qp&fcx6!cX$AC)z0DDsy-4 zmq_`p#77kjFFYNeGf#N!%9gixPW{(rx*6irn}fNOz@f0|f_Vd`ed@)`2|d&ZHpcQm zqy<0&IUEcQ22XmjV2H-Cm2!%5s&!~^K7$o5B5r1f&m-;`wSQ=vVfGlu=bn`1ig)Jy zWBz|LNai?ea`Ne?SoeS4?V*ykdzwhhn36Qy!-BcbO~B*7Q{Rewb^=p`od^(_TNubV zCvG$CT6TgPIV5=P)R$eS{w9!)`Qrd%r7g=P$xYD}5uC0yXo&~cBoq43@ssAV+r8uY zTye)>xjCBGwSU)s{N2Cdk(q5^vdd&0&f9`=6kx6nD!be5wT|IiD$G!VFhdSc;mECV z8i`Dx$|PZe<5!0yeQ``{c%2m;9g%+OomvtH(~7l=eAjPJSo!(-ea3Rf;an`EudIB( zz2x7_fmtH6vi|^67?8gC8U=H~_Zh19FqgL%r^{b5LVuz-z`(#B{Cz7$;z=VBznI86 zD{9b?KMYbu1W*!TSB##eHE2eEAyXVekG!|L>mL5U)r+2KMr)O)Yc8?Tq?X*)@7sM$ zN+_beK^j_dE2ip%5)YJ}Ki^tp?84T}fSxX^na5e$zr)V`qMj_D6J#0l>Q_C+1pGvKL7v# diff --git a/doc/images/osgviews.jpg b/doc/images/osgviews.jpg index 7d83b3a9b6d7812bf299e0c14c2ec2392b87f6fe..45eca75d96b1ad69a6e8cdf12283faafbe78b334 100644 GIT binary patch delta 2488 zcmV;p2}kzd4Tl(zqyuCCfU&2_0e>i>y<;$-axywpQ^)3_sUSzV84d|MM<*Bun$3?< zf;-t&+F2MoEN5U*w4C#t5yytET)SJTBdP9lwh0m&V?BaXSMSASZ3a5wrj z+cIY(Ex$jB{**?iHprILcOjyyNj%obOwgGC{wPLs_#U0Axz=D)hKglAgb(qj?P9lO zEp{|$thUu-olr-*FkfploB%uWGlN!Ryi1#L4-bG&eMi$3pw@_YY-Wre z%Zvl+GAl0f%`M9!hLNQoECOkgr7CMo!JON`vXhOWM*|}qAE^9|X1&~7BekA)Wsfbq1CYdVfq&Nknvr!2YumV@ z^7a>COS62#2RH=u9@WXsC8B1sggKRsOTBAVgh_CcN{alupbC9C$48Wz3p!obku7CSYst$VYBB9kTQu|O4!2+BQEkXh^-%nn~s==sR+Dj~-W4Dyb zbG6ivp3Bcpe@c}MSK5MIc|th1s5srmG1QWOoi|c)(X$xB3shLQuokY%GRG9qe9X%E zAmcbEJn@bPtytAbven^3ADiVS@KJ!>xpU}FKM!7=Y7Iu}IDc7E)nS?4vAlfa*?yz- z&reuyh0@%l?kHmZ8qbaDgwh1WTLt%?X;yFUaHU?sL0l_06VET%C zDMN-BHH|H{qpDpSo8r6MA2YEh9)M@HU$?b*SQebP3KRgi;B?Qgx27wuoa(z>XlG=) zmT01i=p-njihlqK$mqfl44C;;_x}Jre+tHe!g+2bpU-@6Bg|;>2_E_X06x{Uq^klt zifX7pLhz-FZ5=XwyH+(Rxye3-ryF^gw;DCXvu|0VZ1PE6zsj2qi6Y7j#Tq{1Hp3sL zMk{uTUsr&+napZ7@Y_x0#L{pEHzqUs{YM^^O=FU0D}Nkp?biwkuFi^&s;llkbDo1j zxNr>4v5!IXAM^OtfuS%$ziRnO2OeMl0A99etri}d=q_eroh_|ONM_uM`<;Svpnf^^ z?^bPOTbroeTXIBPB(TamlIcrk6J_y|_KXq_(%Xy`RXmh|MVK2LX8FaqU^rUb?RKx0#q> z@_*~MZUH0(ByQjyxvrbRcJ~l9=Ak^PZ)v!rE3cNMgN*Zl03?ikeJeLw`XoDPb30kn zr_$X~WsTUTShEFCdEjRqI6Z3&%YAC*JE>4egqK$;xa16W$1>$SaiOO>88V3VEZ zF)YdtB;b`EojLt0l+<+VN1oZDk&H5~5r3Jo2XH?SdLD#gx#uZf%0(@;L$v#et{uxh z2nYPOrAj;H~Hqb?Jkn?0V)DJ5PKTvp;GIW?n~}ZMHE*-BOufx zxEn52lrQ|WZZTHPjQ(0p5HiBwb$~cE&0JYuyf1O(x5&RXQv@g<$YQ$R1?uQ*UVqwV zMlpaydCL$<&OZ`AI^d^Wtt3@iJkI+tw$o&hu*H1()A85O}(yrcFRbhEjB7XrmQIV6$$m{x=zN!^Mr~my+f@KZx|e{QG(u%8yK!N7rsF+>(I_R_xsm z^{Rd!zk6+9AOTWxRl{e1L4W@MJl3`K#x)ygOEWYuks)kg0!BIf2mb(GqBVbc8U)}sC> znkjTCSxD_PUReupj5a)-RODb+Ojyr7$dMv=UP{{VZF$9@OtRBiOh?qm#`Q2_+L zbLrFbt>J2|Zt+UqVRZqRs0V?H!Wel?-=O)dOs8^#f-*CM)PGXdTOv{;1ChEW+0z;0 zApRqowO))R%&um_iYTfORUJW!n8?OQAmcs9`2K>5D;!7g*-+fL2l`Y%WO<(>5y2z> z0IYfXib!0^1a5JbP)ivCDF4}9 C>cPwa delta 1157 zcmV;01bX|27~c($qysVlUa_aj0e=SF%2`8gIRJ_%uT`YgnF+M+hie+1Y|~@RkHYLz zoyR%rkMoMP{eagtR2c}qvc}U1$5{a!{dlbju7BColbnjp zw7$EARNOPHD#RR>IQn)qZe34Gm4Fv0u6m5)ADwj5oj*gCttyLM%B?JONwwQ)s&|6M z2@GuRK0zL{fuN z_meZmpQg+mk?!N?{(0{ojelia%k~?DHt!)I{{YKG+xk?|+l4O9X188S$T`nGnaAoX zHcLfdW}D9c0C*5__#f+BT-{F2RA|}iV&#H7dt8n-<-a~StM!i^_Lpwz@T;L!D}`L{ zM@rmJY%Z#o8z&07*Clsj95AYLPv?gnxc+@0Hw)Dvzn_ z_*T-Iin|e;3bvzsA&NFxCT>+hVn4_g=mz4~!+LUAT7Yg!e)3$8l;f$+dG@GueLmYj z)0jj=m#@{mGsj$Xsvp^RTD8HIF7V5Vo!GrmVc`#%u*ljLIC&YIX{hd7cfC3w6>8(vBZNIOpV`O=bGo&ON!pv z*5s^coaF7x{{TFFE0R@i%{4NHpot2E%E-TUkIdhZ;D4TKYse3@B%YO_=23}Vz5FY&W9D4!lSk9#8 zxmhu%6z>u^^(&&z{&`KuI2?0TWx9DCo>nrsIV75bbV%eVjgSvofr;o%Wy*?emVEVh z%&U>x6=Ag>IfOelLUipb!7qeA-Rl diff --git a/doc/introduction.html b/doc/introduction.html index 962b76f93..2364a04b6 100644 --- a/doc/introduction.html +++ b/doc/introduction.html @@ -1,295 +1,277 @@ - + - introduction to the OpenSceneGraph + + + introduction to the OpenSceneGraph - - - - + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
Index Introduction Contents Install Dependencies Demos Data Viewer Stereo Reference Guides
IndexIntroductionContentsInstallDependenciesDemosDataViewerStereoReference Guides
-

Introduction to the OpenSceneGraph

- -

Welcome to OpenSceneGraph project! -

-

The OpenSceneGraph is an Open Source (LGPL), Cross Platform (Widows, Linux, Mac OSX, FreeBSD, Irix, Solaris), -Standard C++ and OpenGL based graphics development library, uses range from visual simulation, games, -virtual reality, sceintific visualization and graphics research. This pages introduces -what scene graphs are, why graphics developers use them, and details about the OpenSceneGraph, -project, how to learn how to use it and contribute to the OpenSceneGraph community. -

- -

-Robert Osfield, -Project Lead. -April 2002. -

- +

+Introduction to the OpenSceneGraph

+Welcome to OpenSceneGraph project! +

The OpenSceneGraph is an Open Source (LGPL), Cross Platform (Widows, +Linux, Mac OSX, FreeBSD, Irix, Solaris), Standard C++ and OpenGL based +graphics development library, uses range from visual simulation, games, +virtual reality, scientific visualization and graphics research. This pages +introduces what scene graphs are, why graphics developers use them, and +details about the OpenSceneGraph, project, how to learn how to use it and +contribute to the OpenSceneGraph community. +

Robert Osfield, Project Lead. April 2002. +


- -

What is a Scene Graph?

-

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

- -

A scene graph isn't a complete game or simulation engine, although may be one of the main -components of such an engine, it's primary focus is representing your 3d worlds, and rendering it efficiently. 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 they wish to use and allows them to serve many varied markets from games, visual -simulation, virtual reality, scientific and commerical visulasation, training thruogh to modelling -programs. -

- +

+What is a Scene Graph?

+Its a tree! Quite simply one the best and most reusable data structures +invented. Typically drawn schematically as root at the top, leaves at the +bottom. It all starts with a topmost root node which encompasses your whole +virtual world, be it 2D or 3D. The world is then broken down into hierarchy +of nodes representing either a spatial grouping of objects, setting the +position of objects, animating objects,. or define a logical relationship +between objects such as 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 may +be one of the main components of such an engine, it's primary focus is +representing your 3d worlds, and rendering it efficiently. 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 they wish to use and allows them +to serve many varied markets from games, visual simulation, virtual reality, +scientific and commercial visualization, training through to modeling programs. +


- -

Why use a Scene Graph - Performance, Productivity, Portability and Scalability.

+

+Why use a Scene Graph - Performance, Productivity, Portability and Scalability.

    -
  1. -

    Performance - scene graphs provide an excellent framework for maximize graphics -performance. A good scene graph employs two key techinques - culling of the objects that won't -be seen on screen, and state sorting of properties such as textures and materials -so that all similar objects are drawn together. Without culling the CPU, buses and -GPU will all become swamped by many times the amount of data tham they acual require.to represent -you work accurately. The hierachical structure of the scene graph makes this culling -process.very efficient.with whole town being culled with just a few operations! Without state storting, the the buses and GPU will thrash between -states, stalling the graphics and destroying graphisc throughout. As GPU's get faster and faster, the cost of -stalling the graphics is also going up, so scene graph are become ever more important. -

    -
  2. -
  3. -

    Productivity - scene graphs take much of the hardwork required to develop -high perftomance graphics applications. The scene graphs manage all the graphics for you, -reducing what would be thousands of lines of OpenGL down to a few simple calls..Furthermoe, -one of most powerfukl concepts in Object Orientated programming is that of object -compotsition, enshrined in Composite Design Pattern, which fits the scene graph -tree strucutre perfectly which makes it highly flexible and reusable design - in real terms -this means that it can be easily adapted it to solve your problems. Scene graph also often come -additional utilitie libraries which range for helping users set up and manage graphics -windows to import of 3d modes and images. All this together allows the user to achieve -a great deal with very little coding. A dozen lines of code can be enough to load your data +

  4. +Performance - scene graphs provide an excellent framework for +maximize graphics performance. A good scene graph employs two key techniques +- culling of the objects that won't be seen on screen, and state sorting +of properties such as textures and materials so that all similar objects +are drawn together. Without culling the CPU, buses and GPU will all become +swamped by many times the amount of data than they actually require to +represent you work accurately. The hierarchical structure of the scene +graph makes this culling process very efficient with whole town being culled +with just a few operations! Without state sorting, the the buses and GPU +will thrash between states, stalling the graphics and destroying graphics +throughout. As GPU's get faster and faster, the cost of stalling the graphics +is also going up, so scene graph are become ever more important. +

  5. +
  6. +Productivity - scene graphs take much of the hard work required +to develop high performance graphics applications. The scene graphs manage +all the graphics for you, reducing what would be thousands of lines of +OpenGL down to a few simple calls. Furthermoe, one of most powerful concepts +in Object Orientated programming is that of object composition, enshrined +in Composite Design Pattern, which fits the scene graph tree structure +perfectly which makes it highly flexible and reusable design - in real +terms this means that it can be easily adapted it to solve your problems. +Scene graph also often come additional utility libraries which range for +helping users set up and manage graphics windows to import of 3d modes +and images. All this together allows the user to achieve a great deal with +very little coding. A dozen lines of code can be enough to load your data and create an interactive viewer! -

    -
  7. - -
  8. -

    -Portability - scene graphs encapsulate much of the lower level tasks of rendering -graphics and reading and writing data, reducing or even eradicating the platform specific -coding that you require in your own application. If the underlying scene graph is portable -then moving from platform to platform can be a simple as recompiling your source code. -

    -
  9. - -
  10. -

    -Scalability - along with being able to dynamic manage the complexity of scenes -automatically to account for differences in graphics performance across a range of machines, -scene graphs also make it much easier to manage complex hardware configurations, such as clusters -of graphics machines, or multiprocessor/multipipe systems such as SGI's Onyx. A good scene graph -will allow the developer to concentrate on developing their own application while the rendering -framework of the scene graph handles the differnt underlying hardware configurations. -

    -
  11. +

    +
  12. +Portability - scene graphs encapsulate much of the lower level +tasks of rendering graphics and reading and writing data, reducing or even +eradicating the platform specific coding that you require in your own application. +If the underlying scene graph is portable then moving from platform to +platform can be a simple as recompiling your source code. +

  13. +
  14. +Scalability - along with being able to dynamic manage the complexity +of scenes automatically to account for differences in graphics performance +across a range of machines, scene graphs also make it much easier to manage +complex hardware configurations, such as clusters of graphics machines, +or multiprocessor/multipipe systems such as SGI's Onyx. A good scene graph +will allow the developer to concentrate on developing their own application +while the rendering framework of the scene graph handles the different +underlying hardware configurations. +


- -

So what about the OpenSceneGraph project?

- -

-The OpenSceneGraph is an Open Source Scene Graph, and our goal is make the benifits -of scene gaph technology available to all. Our scene gaph is still in development, -but has already gained a great deal of respect amoungst the development community -for its high performance, cleaness of design and portability. Written entitely in -Standard C++ and OpenGL, it makes full use of STL and Design Patterns, and leverages -the open source development model to provide a development library that is legacy -free and well focused on the solving the task. The OpenSceneGraph delivers on -the four key benifits of scene graph techonolgy outlined above using the following -features: -

- +

+So what about the OpenSceneGraph project?

+The OpenSceneGraph is an Open Source Scene Graph, and our goal is make +the benefits of scene graph technology available to all. Our scene graph +is still in development, but has already gained a great deal of respect +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 STL and Design Patterns, and leverages the open source +development model to provide a development library that is legacy free +and well focused on the solving the task. The OpenSceneGraph delivers on +the four key benefits of scene graph technology outlined above using the +following features:
    -
  1. -

    Performance - supports view frustum culling, small feature culling, -Leval Of Details (LOD') nodes, state sorting, vertex arrays and display list -as part of the core scene graph, these together make the OpenSceneGraph one -highest performance scene graph available. User feedback is that performance -surpasses much more established scene graphs such as Performer, VTee, -Vega Scene Graph and Jave3D! The OpenSceneGraph also supports easy customization -of the drawing process, which has allowed implemention of Continous Level of -Detail (CLOD) meshes ontop the scene graph, these allow the visualisation of -massive terrain databases interactively, examples of this approach can be -found at both Vterrain.org and TerrainEngine.com which both integrate with the -OpenSceneGraph. -

    -
  2. - -
  3. -

    Productivity - by combining lessons learned from established scene graph like -Performer and Open Inventor, with modern software engineering +

  4. +Performance - supports view frustum culling, small feature culling, +Level Of Details (LOD') nodes, state sorting, vertex arrays and display +list as part of the core scene graph, these together make the OpenSceneGraph +one highest performance scene graph available. User feedback is that performance +surpasses much more established scene graphs such as Performer, VTee, Vega +Scene Graph and Jave3D! The OpenSceneGraph also supports easy customization +of the drawing process, which has allowed implementation of Continuos Level +of Detail (CLOD) meshes on top the scene graph, these allow the visualization +of massive terrain databases interactively, examples of this approach can +be found at both Vterrain.org and TerrainEngine.com which both integrate +with the OpenSceneGraph. +

  5. +
  6. +Productivity - by combining lessons learned from established +scene graph like Performer and Open Inventor, with modern software engineering methodologies like Design Patterns and a great deal of feedback early on -in the development cycle, it has been possible to design a design that clean -and highly interporable. This has made it easy for user to adopt to the -OpenSceneGraph and to integrate with their own applications. With a full -feature set in the core scene graph, utilities to set up the scene graph and -viewers and a wide range of loaders it is possible to create an application -and bring in user data with a very small amount of code. -

    -
  7. - -
  8. -

    -Portability - The core scene graph has also been designed to be have minimal -platform speciific dependancy, requiring little more than Standard C++ and OpenGL. -The has allowed the scene graph to be rapidly ported on wide range of platforms - -originally developed on IRIX, then ported to Linux, then to Windows, then FreeBSD, then Mac OSX -and most recently Solaris! Being completely windowing system independant makes it easy -for users to add their own window specific libraries and applications on top. -In the distribution there is aleady the osgGLUT library, and in the Bazaar found -at openscenegrph.org/download/ once can find examples of how applications written -ontop Qt, MFC, WxWindows and SDL. Users have also integrated it with Motif, and X. -

    -

    -
  9. - -
  10. -

    -Scalability - the scene graph not only runs from portables all the way up -to Onyx Infinite Reality Monsters, it supports the multiple graphics subsystems -found on machines like the a mulitpipe Onyx. This is possible since the core scene -graph supports multiple graphics context for both OpenGL DisplayLists and texture objects, -and the cull and draw traversals have been designed to cache rendering data locally and -use the scene gaph almost entirely as a read only operation. This allows multiple -cull-draw pairs to run on multiple CPU's which are bound to multiple graphics subsystems. -This has been demonstrated using the OpenSceneGraph in conjunction with sgi's OpenGL -multipipe SDK. We also have osgMP in development which will be cross platform and -transparently support multiple multipipe systems like th Onyx and gaphics clusters. -

    -
  11. +in the development cycle, it has been possible to design a design that +clean and highly interpretable. This has made it easy for user to adopt +to the OpenSceneGraph and to integrate with their own applications. With +a full feature set in the core scene graph, utilities to set up the scene +graph and viewers and a wide range of loaders it is possible to create +an application and bring in user data with a very small amount of code. +

    +
  12. +Portability - The core scene graph has also been designed to +be have minimal platform specific dependency, requiring little more than +Standard C++ and OpenGL. The has allowed the scene graph to be rapidly +ported on wide range of platforms - +originally developed on IRIX, then +ported to Linux, then to Windows, then FreeBSD, then Mac OSX and most recently +Solaris! Being completely windowing system independent makes it easy for +users to add their own window specific libraries and applications on top. +In the distribution there is already the osgGLUT library, and in the Bazaar +found at openscenegrph.org/download/ once can find examples of how applications +written on top Qt, MFC, WxWindows and SDL. Users have also integrated it +with Motif, and X. +

  13. +
  14. +Scalability - the scene graph not only runs from portables all the +way up to Onyx Infinite Reality Monsters, it supports the multiple graphics +subsystems found on machines like the a mulitpipe Onyx. This is possible +since the core scene graph supports multiple graphics context for both +OpenGL DisplayLists and texture objects, and the cull and draw traversals +have been designed to cache rendering data locally and use the scene gaph +almost entirely as a read only operation. This allows multiple cull-draw +pairs to run on multiple CPU's which are bound to multiple graphics subsystems. +This has been demonstrated using the OpenSceneGraph in conjunction with +sgi's OpenGL multipipe SDK. We also have osgMP in development which will +be cross platform and transparently support multiple multipipe systems +like the Onyx and graphics clusters +

- - -

-All the source to is published under the GNU Library General Public License (LGPL) -which allows both open source and closed source projects to use, modify and -distribute it freely as long its usage complies with the LGPL. The project has been -developed over the last four years, initliated by Don Burns, and then taken over -by Robert Osfield who continues to lead 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 capaciity providing consultancy -and bespoke developments ontop the library, and are also colloborating 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 communinity, 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 current in alpha, which means parts of the API are still to be -developerd, or subjec to change, but the vast majority of the scene graph is there, and a beta will -be published within the next few months, wiht a 1.0 release in late summer. Despite the -alpha development status, the project has alrady earned the reputation the leading -open source scene graph, and is establishing itself a vialbe alternative to the commericial -scene graphs. Numerous companies, university researchers and graphics enthusasts have -already adopted their projects, and are from all over the world. -

- +All the source to is published under the GNU Library General Public License +(LGPL) which allows both open source and closed source projects to use, +modify and distribute it freely as long its usage complies with the LGPL. +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 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 developments +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 +to appreciate. +

The project is current in alpha, which means parts of the API are still +to be developed, or subject to change, but the vast majority of the scene +graph is there, and a beta will be published within the next few months, +with a 1.0 release in late summer. Despite the alpha development status, +the project has already earned the reputation the leading open source scene +graph, and is establishing itself a viable alternative to the commercial +scene graphs. Numerous companies, university researchers and graphics enthusiasts +have already adopted their projects, and are from all over the world. +


- -

Getting started

- -

-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 via cvs. -

- -

-The binary distribution contains just the libraries (.dll's /.so's) and demo 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), demo executabls, include files, and source to -the demos. This is suitable for using the developers using the OpenSceneGraph. -

- -

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

- -

-If you are using a source disitribution 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 is dependant upon such as glut, check the -dependencies list for futher details. -

- - +

+Getting started

+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 +via cvs. +

The binary distribution contains just the libraries (.dll's /.so's) +and demo 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), +demo executables, include files, and source to the demos. This is suitable +for using the developers using the OpenSceneGraph. +

The source distribution contains the 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 +to track down and fix any problems that you come across. +

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 is dependent upon such as glut, check the +dependencies +list for further details. +


- -

How to learn to use the OpenSceneGraph

- -

-The OpenSceneGraph distribution comes with a reference guide for each of the componet libraries - osg, osgDB, -osgUtil, osgText and osgGLUT, a set of demos - the source of which can be found in src/Demos/.For questions -or help which can't be easily be answered by the reference guide and demo source, one should join the openscene -gaph mailing list (details below).There is also the beginings of Wiki based FAQ -which may help answer a few of the common querries. - - -

A programming guide will be avaialbe 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 releated to the OpenSceneGraph, once can learn about scene graph technolgy from -such sources as the Open Inventor Mentor, and Performer Programming Guides. -The later is the closest in design concepts to the OpenSceneGraph, although Performer manuals is in C alas. -

- -

-The OpenSceneGraph uses OpenGL and does 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 nameing -of many of the OpenGL state related classes, the the parameters that they encapsulate and 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 website is also a good source of links and further information. -

+

+How to learn to use the OpenSceneGraph

+The OpenSceneGraph distribution comes with a reference guide for each of +the component libraries - osg, osgDB, osgUtil, osgText and osgGLUT, a set +of demos - the source of which can be found in src/Demos/. For questions +or help which can't be easily be answered by the reference guide and demo +source, one should join the mailing list (details below). There is also +the beginnings of 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 +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 +Programming Guides. The later is the closest in design concepts to +the OpenSceneGraph, although Performer manuals is 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 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, the the parameters that they +encapsulate and 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 +website is also a good source of links and further information. +


- -

Support and discussion - the openscenegraph-news 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 at robert@openscenegraph.com.

+

+Support and discussion - the openscenegraph-news 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 +at robert@openscenegraph.com.