|Why Render Hidden Objects? Cull Them With a Software Depth-Buffer Rasterizer! (Presented by Intel Corporation)
|Track / Format:
Did you know free users get access to 30% of content from the last 2 years?
|Most realistic 3D scenes contain objects that are occluded by other objects in the scene. Usually, these occluded objects are submitted to the GPU for rendering, only to have their pixels rejected by the z-buffer later in the pipeline. We will show you how to improve performance by lowering the computational cost of occluded objects. Our technique divides scene objects into two groups: occluders and occludes, and uses a software rasterizer to draw the occluders to a depth buffer. Then we test each occludee for occlusion by rasterizing its bounding box against this depth buffer. Performance improves further by reducing the number of processed occluders and occludees with frustum culling. We also optimized it with SSE and multi-threading. On a 2.3GHz 3rd Gen Intel Core Processor (Ivy Bridge) system with Intel HD 3000 graphics, software occlusion culling achieves up to 8X performance speedup compared to a non-culled display of the sample scene.