Use the GDC 2021 Session Viewer to browse and sort the ever-growing list of sessions by pass type, topic, and format. You will be able to build your personal schedule directly within the event platform, once live early July 2021.
Gino van den Bergen (Physics Programmer, Dtecta)
Pass Type: All Access Pass, Summits Pass
Vault Recording: TBD
Collision detection and occlusion culling can be sped up considerably by reducing the complexity of the used triangle meshes. A popular method for decimating a mesh is the Garland-Heckbert algorithm. This approach uses edge contractions to reduce the number of triangles. The maximum error of the decimated mesh is bounded by a so-called quadric error metric (QEM). In this talk, properties of QEMs are discussed. We show what causes issues when using QEMs to find positions for newly created vertices and how to improve mesh quality. We show how to choose the new vertex positions conservatively, i.e. such that the decimated mesh either completely encapsulates the original mesh for the purpose of collision detection, or is completely encapsulated by the original mesh for the purpose of occlusion culling. Performance tweaks and termination criteria are addressed, and trade-offs are discussed.
Attendees will learn about the pitfalls of QEMs and how to overcome them. We discuss the unconstrained Garland-Heckbert algorithm and how to adapt it for returning conservative meshes. We present a few performance optimizations, and a novel approach for constructing tighter QEMs that bound maximum errors.
There is a lot of math in this talk, however, images, screen shots, and a demo of our decimation tool should make this talk accessible to attendees that only have a sketchy understanding of the subject matter. The talk is targeted at programmers that work on game physics or graphics.