S4379-opengl-44-scene-rendering-techniques.pdf
(
2298 KB
)
Pobierz
OpenGL 4.4
Scene Rendering Techniques
Christoph Kubisch
Markus Tavenrath
- ckubisch@nvidia.com
- matavenrath@nvidia.com
Scene Rendering
Scene complexity increases
–
Deep hierarchies, traversal expensive
–
Large objects split up into a lot of little
pieces, increased draw call count
–
Unsorted rendering, lot of state changes
CPU becomes bottleneck when
rendering those scenes
Removing SceneGraph traversal:
–
http://on-demand.gputechconf.com/gtc/2013/presentations/S3032-Advanced-
Scenegraph-Rendering-Pipeline.pdf
models courtesy of PTC
2
Challenge not necessarily obvious
Harder to render „Graphicscard“ efficiently than „Racecar“
CPU
GPU
App/GL
GPU
idle
650 000 Triangles
68 000 Parts
~ 10 Triangles per part
3 700 000 Triangles
98 000 Parts
~ 37 Triangles per part
3
Enabling GPU Scalability
Avoid data redundancy
–
Data stored once, referenced multiple times
–
Update only once (less host to gpu transfers)
Increase GPU workload per job (batching)
–
Further cuts API calls
–
Less driver CPU work
Minimize CPU/GPU interaction
–
Allow GPU to update its own data
–
Low API usage when scene is changed little
–
E.g. GPU-based culling
4
Rendering Research Framework
Avoids classic
SceneGraph design
Geometry
–
Vertex & Index-Buffer (VBO & IBO)
–
Parts (CAD features)
Same geometry
multiple objects
Material
Matrix Hierarchy
Object
References Geometry,
Matrix, Materials
Same geometry
(fan) multiple parts
5
Plik z chomika:
jacekplacekjacek
Inne pliki z tego folderu:
OpenGL Programowanie Gier.pdf
(62916 KB)
Opengl 3D Game Programming.pdf
(49379 KB)
opengl_programming_guide_8th_edition.pdf
(18462 KB)
opengl.pdf
(12566 KB)
3D Computer Graphics A mathematical approach with OpenGL.pdf
(7415 KB)
Inne foldery tego chomika:
Arduino
Asembler
C++
DirectX
GDB
Zgłoś jeśli
naruszono regulamin