This dissertation demonstrates user-written procedures on an interactive graphics machine. Procedural shading is a proven technique for off-line rendering, and has been effectively used for years in commercials and movies. During most of that time, polygon-per-second performance has been a major focus for graphics hardware development. In the last few years, we have seen increased attention on surface shading quality for graphics hardware, principally image-based texture mapping. Today, even low-end PC products include support for image textures. The PixelFlow graphics machine demonstrates that techniques like procedural shading are possible at interactive rates. PixelFlow is the first machine to run, at real-time rates of 30 frames per second, procedural shaders written in a high-level shading language.A graphics machine like PixelFlow is a large and complex device. An abstract pipeline is presented to model the operation of this and other interactive graphics machines. Each stage of the pipeline corresponds to one type of procedure that can be written by the graphics programmer. Through the abstract pipeline, the user can write shading procedures or procedures for other graphics tasks without needing to know the details of the machine architecture. We also provide a special-purpose language for writing some of these procedures. The special-purpose language hides more details of the machine implementation while enabling optimizations that make execution of the procedures possible.
Cited By
- Popescu V and Rosen P (2006). Forward rasterization, ACM Transactions on Graphics (TOG), 25:2, (375-411), Online publication date: 1-Apr-2006.
- Whitted T and Kajiya J Fully procedural graphics Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, (81-90)
- Cabido R, Montemayor A and Sánchez Á Hardware-Accelerated template matching Proceedings of the Second Iberian conference on Pattern Recognition and Image Analysis - Volume Part I, (691-698)
- McCool M, Qin Z and Popa T Shader metaprogramming Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, (57-68)
- Thompson C, Hahn S and Oskin M Using modern graphics architectures for general-purpose computing Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture, (306-317)
- Proudfoot K, Mark W, Tzvetkov S and Hanrahan P A real-time procedural shading system for programmable graphics hardware Proceedings of the 28th annual conference on Computer graphics and interactive techniques, (159-170)
- Olano M and Lastra A A shading language on graphics hardware Proceedings of the 25th annual conference on Computer graphics and interactive techniques, (159-168)
Recommendations
Photon mapping on programmable graphics hardware
HWWS '03: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardwareWe present a modified photon mapping algorithm capable of running entirely on GPUs. Our implementation uses breadth-first photon tracing to distribute photons using the GPU. The photons are stored in a grid-based photon map that is constructed directly ...
Photon mapping on programmable graphics hardware
SIGGRAPH '05: ACM SIGGRAPH 2005 CoursesWe present a modified photon mapping algorithm capable of running entirely on GPUs. Our implementation uses breadth-first photon tracing to distribute photons using the GPU. The photons are stored in a grid-based photon map that is constructed directly ...
Acceleration of direct volume rendering with programmable graphics hardware
We propose a method to accelerate direct volume rendering using programmable graphics hardware (GPU). In the method, texture slices are grouped together to form a texture slab. Rendering non-empty slabs from front to back viewing order generates the ...