Sceneg raph / 1 Tietokonegrafiikan jatkokurssi T op Lauri Savioja 02/06 Scenegraph
Sceneg raph / 2 Sisältö Mitä? Tarve Käyttö
Sceneg raph / 3 Historiaa Sovellus- ja rautakohtaiset formaatit, ei yleiskäyttöisyyttä tai siirrettävyyttä Silicon Graphics GL -> OpenGL –Proseduraalinen –Ei mahdollisuuksia itseoptimointiin Renderöinti pitäisi pystyä rajoittamaan vain niihin elementteihin jotka vaikuttavat lopulliseen kuvaan Scenegraph –Hierarkinen rakenne, datalähtöinen –Nostaa abstraktiotasoa ohjelmoijalle
Sceneg raph / 4 Hierarkisoinnin etuja Rakenteellinen objektipohjainen kuvaus maailmasta Ryhmittelee toisiinsa liittyvät objektit Objekteille voidaan laskea ’bounding volume’ –helpottaa törmäystarkastelujen tekemistä –nopeuttaa valaistuksen laskentaa ominaisuuksia voidaan periä –värit –tekstuurit –valaistus –paikka –orientaatio
Sceneg raph / 5 Optimoitavia asioita Culling –Leikkaus katselupyramidiin –Occlusion culling, piiloon jäävien elementtien poisto, PVS
Sceneg raph / 6 Optimoitavia asioita State sorting OpenGL:n tilakoneen tilamuutokset ovat kalliita –Tekstuurien vaihtaminen –Valojen muuttaminen –Läpinäkyvyys. HUOM. etäisyyslajittelu on käyttäjän vastuulla!! –Kustannusfunktio on rautakohtainen Kannattaa piirtää samantyyppiset asiat yhteen putkeen SIMD pipeline
Sceneg raph / 7 Scenegraph Esimerkkejä scenegraphin solmuista –ryhmäsolmut ryhmittelevät useampia solmuja loogisiksi kokonaisuuksiksi –transformaatiosolmut paikka, rotaatio, skaalaus –valaistussolmut Pointilight, Spotlight, Directional, jne. –geometriasolmut polygonit, viivat, pisteet,... –valintasolmut switchit sekvenssit level-of-detail –Event ja action
Sceneg raph / 8 Scenegraphin esimerkkirakenne
Sceneg raph / 9 Toteutuksia OpenGL (EI scenegraph) Performer OpenSceneGraph Java3D Inventor VRML VTK
Sceneg raph / 10 Tulevaisuus Nykyiset scenegraphit eivät kunnolla sovellu massively- multiplayer-on-line-games käyttöön Keskenään kilpailevia lajittelukriteereitä Tarvitaan tietokanta jossa voi olla useita lajitteluavaimia (avaruudellinen, tila, jne.)