bakoš nikola 37618/08-r
DESCRIPTION
Bakoš Nikola 37618/08-R. Sveučilište u Zagrebu Fakultet organizacije i informatike Varaždin. 19.1.2010. Uvod. Povijest 1998. Don Burns Započeo kao hobi projekt: simulator leta zmajem 1999. Robert Osfield Rujan, 1999. open source - PowerPoint PPT PresentationTRANSCRIPT
Bakoš Nikola37618/08-R
Sveučilište u ZagrebuFakultet organizacije i informatike Varaždin
19.1.2010
UvodPovijest
◦1998. Don Burns Započeo kao hobi projekt: simulator leta
zmajem
◦1999. Robert Osfield◦Rujan, 1999.
open source
◦Krajem 2001. godine Don je osnovao firmu Andes Computer Engineering
OpenSceneGraphPortablehigh level graphics toolkit for the
development of high peformance graphics applications ◦ Simulatori leta, igre, prividna stvarnost,
znanstvena vizualizacijaPruža objektno orijentirano okruženjeOslobađa programera od implementacije i
optimizacije poziva grafike niskog nivoaPruža mnoge druge
dodatne alate za brz razvoj grafičkih aplikacija
Jezgra OS, UNIX
OpenSceneGraph
OpenGL
Scene GraphJednostavan poredak čvorova koji
hijerarhijski reprezentira 3D scenuStruktura stabla
◦Korijen – obuhvaća cijeli virtualni prostor Čvorovi – transformacije i stanja iscrtavanja Listovi – geometrija (… tijela …)
Scene Graph se kreira i održava kroz cijelu aplikaciju (njezin rad) dok se kod OpenGL aplikacija svaki frame iscrtava ispočetka
Scene Graph …NIJE! (ali može biti dio)
◦Game engine◦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[OpenSceneGraph]
Frustrum cullingOcclusion cullingSmall feature cullingLevel Of Detail (LOD) nodesState sortingVertex arraysDisplay lists (as part of the core scene graph)
Produktivnost[OpenSceneGraph]
Učahuruje osnovnu OpenGL funkcionalnost
Omogućava optimizaciju iscrtavanjaBrzo 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[OpenSceneGraph]
Dizajniran tako da ima minimalni broj ovisnosti, nešto više nego Standardni C++ i OpenGL
SkalabilnostPodržava više grafičkih konteksta
(OpenGL Display Lists i objekte teksture)
IRIX
Linux
Windows
FreeBSD
MAC
OSX
Solaris
HP-UX
PlayStation2
Biblioteke 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
OpenSceneGraph distribucija Aplikacije
◦ osgviewer - scene graph viewer
◦ osgconv - database conversion tool
◦ osgarchive - scene graph archiving tool
◦ osgdem - geospecific terrain database generation tool
Plugins◦ List of available 3d database plugins :
3dc / ac3d / directx / dw / flt / geo / Inventor / ive / lib3ds / logo / lwo / lws / md2 / obj / osg / pfb
◦ List of available movie & image plugins tga / tiff / quicktime / rgb / pic / png / pnm / bmp / dds / gdal / gif / jp2 / jpeg / mpeg
Stereo visualization
DEMO, primjeri
Q&A