“Pixel-shader-based curved triangles”
Conference:
Type(s):
Title:
- Pixel-shader-based curved triangles
Presenter(s)/Author(s):
Abstract:
Since real-world objects often consist of curved surfaces, it is desirable to be able to render such surfaces in real time. One example of adequate primitives are curved PN triangles [Vlachos et al. 2001], a special kind of cubic triangular Bezier patches. ́ To render a surface described by PN triangles, they can be sub-triangulated such that the resulting mesh approximates the surface reasonably well. While subdivision to a fixed level is easy and supported by some ATI hardware, it is usually ill-suited if the screen-space sizes of the PN triangles vary considerably. Hence a software-based adaptive tessellation needs to be performed, which however incurs a certain runtime overhead—not at least since it has to avoid cracks between adjacent PN triangles subtriangulated to different LODs. An alternative rendering approach is given by directly ray-tracing the surface, which is usually done by either Bezier clipping ́ [Roth et al. 2001] or Newton iteration [Sturzlinger 1998]. ̈ In this work, we propose rendering curved PN triangles by drawing their bounding volumes and performing a ray/PN-triangle intersection test for each fragment in the pixel shader. This not only avoids having to adapt the LOD of the surface’s tessellation dynamically but also keeps the memory footprint and the CPU load low.
References:
1. Roth, S. H. M., Diezi, P., and Gross, M. H. 2001. Ray tracing triangular Bézier patches. Computer Graphics Forum 20, 3 (Sept.), 422–432.
2. Stürzlinger, W. 1998. Ray tracing triangular trimmed free form surfaces. IEEE Transactions on Visualization and Computer Graphics 4, 3 (July-Sept.), 202–214.
3. Vlachos, A., Peters, J., Boyd, C., and Mitchell, J. L. 2001. Curved PN triangles. In Proceedings of the 2001 ACM Symposium on Interactive 3D Graphics, 159–166.