Automatic pre-tessellation culling

  • Authors:
  • Jon Hasselgren;Jacob Munkberg;Tomas Akenine-Möller

  • Affiliations:
  • Lund University and Intel Corporation, Lund, Sweden;Lund University and Intel Corporation, Lund, Sweden;Lund University and Intel Corporation, Lund, Sweden

  • Venue:
  • ACM Transactions on Graphics (TOG)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Graphics processing units supporting tessellation of curved surfaces with displacement mapping exist today. Still, to our knowledge, culling only occurs after tessellation, that is, after the base primitives have been tessellated into triangles. We introduce an algorithm for automatically computing tight positional and normal bounds on the fly for a base primitive. These bounds are derived from an arbitrary vertex shader program, which may include a curved surface evaluation and different types of displacements, for example. The obtained bounds are used for backface, view frustum, and occlusion culling before tessellation. For highly tessellated scenes, we show that up to 80% of the vertex shader instructions can be avoided, which implies an “instruction speedup” of 5×. Our technique can also be used for offline software rendering.