High level graphics toolkit for the development of high peformance graphics applications (Simulatori leta, igre, prividna stvarnost, znanstvena vizualizacija)
Pruža objektno orijentirano okruženje nad OpenGL-om
Oslobađa programera od implementacije i optimizacije poziva grafike niskog nivoa
Pruža mnoge druge dodatne alate za brz razvoj grafičkih aplikacija
Jednostavan poredak čvorova koji hijerarhijski reprezentira 3D scenu (Struktura stabla)
Korijen – obuhvaća cijeli virtualni prostor
Čvorovi – transformacije i stanja iscrtavanja
Listovi – geometrija (… tijela …)
Scene Graph se napravi i održava kroz cijelu aplikaciju (njezin rad) dok se kod OpenGL aplikacija svaki frame iscrtava ispočetka.
NIJE!(ali može biti dio)
Game engine-a
Simulation engine
Primarni fokus mu je reprezentacija 3D svijeta i njegovo efikasno renderiranje. Fizički modeli, detekcija sudara i zvuk prepušteni su drugima.
Performanse
Frustrum culling
Occlusion culling
Small feature culling
Level Of Detail (LOD) nodes
State sorting
Vertex arrays
Display lists (kao dio osnovnog SceneGraph-a)
Produktivnost
Učahuruje osnovnu OpenGL funkcionalnost
Omogućava optimizaciju iscrtavanja
Brzo kombiniranje nekoliko poziva objekata umjesto više desetaka linija koda sa OpenGL
Uzorak dizajna Composite (struktura stabla)
Proširivost, čistoća koda, laka adaptibilnost, kombiniranje s ostalim bibliotekama i pluginovima
Portabilnost
Dizajniran tako da ima minimalni broj ovisnosti, nešto više nego Standardni C++ i OpenGL.
Skalabilnost
Podržava više grafičkih konteksta (OpenGL Display Lists i objekte teksture)
Core Libraries
osg - core OpenSceneGraph library
osgUtil - utility library
osgDB - database reading and writing library
Nodekits
osgFX - Special effects framework NodeKit
osgParticle - Particle System NodeKit
osgSim - Visual simulation NodeKit
osgTerrain - Terrain generation NodeKit
osgText - True Type text NodeKit
Windowing Utility libraries
osgGA - Gui Abstraction library
osgProducer - Viewer library integrating OpenSceneGraph with Producer