Accurate rendering of curved higher-order surfaces on the gpu
Jörg Peters, Young In Yeo · 2012
Curved or higher-order surfaces such as a spline patch or a Bezier patch, need to be triangulated for rendering with the current graphics pipeline. A classic challenge is to render such surfaces pixel-accurately, i.e., so that the display has neither polyhedral artifacts nor parametric distortion. The first contribution of this dissertation shows how to set the evaluation density for such a patch just finely enough so that the resulting triangulation yields a pixel-accurate display in the standard graphics pipeline. The approach uses tight estimates, not of the size under screen-projection, but of the variance under screen-projection between the exact surface and its triangulation. The second contribution of this dissertation is to enable real-time skeletal animation of higher-order surfaces using DirectX 11 graphics hardware. The approach is to separate animation, conversion to higher-order surfaces and their evaluation for rendering into pose-dependent, view-dependent and pure rendering passes. This minimizes data transfer to the GPU and avoids unnecessary recomputation. An implementation renders scenes with 140K animated smooth surface patches on a 1440x900 screen with sub-pixel accuracy at more than 300 frames per second. The third contribution is to extend the ACC technique to handle triangles while modeling smooth surfaces. To avoid quadrupling the cost when a few triangles appear in an otherwise quadrilateral mesh, this dissertation exhibits simple rules that generalize those of the popular ACC conversion.