Pages in Rendering
-
Rendering
While rendering voxels appears easy at a glance ("they're just cubes!"), there are actually many, many, trade-offs one has to take into account, mainly depending on the intended visual style and scale of the individual voxels.
-
Back Face Culling
Removal of geometry not facing the camera.
-
Surface Extraction
Turning voxels into geometry.
-
Cluster Culling
Efficiently culling small clusters of geometry.
-
Raytracing
Rendering images via raycasting, be it on the CPU or GPU, is a powerful method, especially when it comes to voxels.
-
Interior Culling
Removal of geometry hidden within geometry.
-
Portal Culling
Removal of geometry that is not in the same 'room'.
-
Rendering: Culling
In general, (visibility-) culling is the process of limiting the amount of things rendered (both geometry and drawcalls) to manageable levels, so the GPU doesn't go up in flames.
-
Face Pulling
Taking vertex pulling to it's conclusion by streaming ONLY face-data.
-
Vertex Pulling
Manual vertex streaming for improved memory usage and bandwidth.
-
Level Of Detail
Replacement of geometry that is too small with lower detail geometry.
-
Vertex Packing
Manually bit-packing data into vertices for improved memory usage and bandwidth.
-
Distance Culling
Removal of geometry that is too far away.
-
Vulkan API
Modern hardware accelerated rendering API.
-
Planets
Just as with the problem of map projection, creating planets shows a fundamental fact with voxels: As they are regular grids, shaping the actual grid into a planet, without distortions or discontinuities, is mathematically impossible. As such, we need to employ different methods depending on what we ultimately want to achieve.
-
Occlusion Culling
Removal of geometry that is fully hidden behind other geometry.
-
OpenGL API
Classic hardware accelerated rendering API.
-
Frustum Culling
Removal of geometry that is outside the cameras view region.