|
ABSTRACT
Programmable shading is a common technique for production animation, but interactive programmable shading is not yet widely available. We support interactive programmable shading on virtually any 3D graphics hardware using a scene graph library on top of OpenGL. We treat the OpenGL architecture as a general SIMD computer, and translate the high-level shading description into OpenGL rendering passes. While our system uses OpenGL, the techniques described are applicable to any retained mode interface with appropriate extension mechanisms and hardware API with provisions for recirculating data through the graphics pipeline.
We present two demonstrations of the method. The first is a constrained shading language that runs on graphics hardware supporting OpenGL 1.2 with a subset of the ARB imaging extensions. We remove the shading language constraints by minimally extending OpenGL. The key extensions are color range (supporting extended range and precision data types) and pixel texture (using framebuffer values as indices into texture maps). Our second demonstration is a renderer supporting the RenderMan Interface and RenderMan Shading Language on a software implementation of this extended OpenGL. For both languages, our compiler technology can take advantage of extensions and performance characteristics unique to any particular graphics hardware.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
BIRCH, P., BLYTHE, D., GRANTHAM, B., JONES. M., SCHAFER, M. SE- GAL, M., AND TANNER, C. An OpenGL++ Specification. SGI, March i997.
|
| |
2
|
BLYTHE, D., GRANTHAM, B., KILGARD, M. J., MCREYNOLDS, T., NEL- SON, S. R., FOWLER, C., HUI, S., AND WOMACK, P. Advanced graphics programming techniques using OpenGL: Course notes. In Proceedings of SIGGRAPH '99 (July 1999).
|
| |
3
|
BOCK, D. Tech watch: Volume rendering. Computer Graphics Worm 22, 5 (May 1999).
|
| |
4
|
|
 |
5
|
Brian Cabral , Nancy Cam , Jim Foran, Accelerated volume rendering and tomographic reconstruction using texture mapping hardware, Proceedings of the 1994 symposium on Volume visualization, p.91-98, October 17-18, 1994, Tysons Corner, Virginia, United States
[doi> 10.1145/197938.197972]
|
| |
6
|
|
 |
7
|
|
| |
8
|
|
| |
9
|
|
 |
10
|
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
 |
15
|
|
 |
16
|
John C. Hart , Nate Carr , Masaki Kameya , Stephen A. Tibbitts , Terrance J. Coleman, Antialiased parameterized solid texturing simplified for consumer-level hardware implementation, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware, p.45-53, August 08-09, 1999, Los Angeles, California, United States
[doi> 10.1145/311534.311575]
|
| |
17
|
|
 |
18
|
Wolfgang Heidrich , Rüdiger Westermann , Hans-Peter Seidel , Thomas Ertl, Applications of pixel textures in visualization and realistic image synthesis, Proceedings of the 1999 symposium on Interactive 3D graphics, p.127-134, April 26-29, 1999, Atlanta, Georgia, United States
[doi> 10.1145/300523.300538]
|
| |
19
|
JAQUAYS, P., AND HOOK, B. Quake 3: Arena shader manual, revision 10. In Game Developer 'S Conference Hardcore Technical Seminar Notes (December 1999), C. Hecker and J. Lander, Eds., Miller Freeman Game Group.
|
| |
20
|
KAUTZ, J., AND McCOOL, M. D. Interactive rendering with arbitrary brdfs using separable approximations. Eurographics Rendering Workshop 1999 (June 1999). Held in Granada, Spain.
|
| |
21
|
|
| |
22
|
|
| |
23
|
MAX, N., DEUSSEN, O., AND KEATING, B. Hierarchical image-based rendering using texture mapping hardware. Rendering Techniques '99 (Proceedings of the lOth Eurographics Workshop on Rendering) (June 1999), 57-62.
|
 |
24
|
|
| |
25
|
OLANO, M., HART, J. C., HEIDRICH, W., MCCOOL, M., MARK, B., AND PROUDFOOT, K. Approaches for procedural shading on graphics hardware: Course notes. In Proceedings of SIGGRAPH 2000 (July 2000).
|
 |
26
|
|
| |
27
|
OPENGL ARB. Extension specification documents, http://www.opengl.org- /Documentation/Extensions.html, March 1999.
|
| |
28
|
PIXAR. The RenderMan Inte~ace Specification: Version 3.1. Pixar Animation Studios, September 1999.
|
| |
29
|
SEGAL, M., AKELEY, K., FRAZIER, C., AND LEECH, J. The OpenGL Graphics System: A Specification (Version 1.2.1). Silicon Graphics, Inc., 1999.
|
| |
30
|
SGI TECHNICAL PUBLICATIONS. Cosmo 3D Programmer's Guide. SGI Technical Publications, 1998.
|
 |
31
|
|
| |
32
|
UPSTILL, S. The RenderMan Companion. Addison-Wesley, 1989.
|
CITED BY 50
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nabil Mustafa , Eleftheris Koutsofios , Shankar Krishnan , Suresh Venkatasubramanian, Hardware-assisted view-dependent map simplification, Proceedings of the seventeenth annual symposium on Computational geometry, p.50-59, June 2001, Medford, Massachusetts, United States
|
|
|
|
|
|
Greg Humphreys , Mike Houston , Ren Ng , Randall Frank , Sean Ahern , Peter D. Kirchner , James T. Klosowski, Chromium: a stream-processing framework for interactive rendering on clusters, ACM Transactions on Graphics (TOG), v.21 n.3, July 2002
|
|
|
|
|
|
Eric Chan , Ren Ng , Pradeep Sen , Kekoa Proudfoot , Pat Hanrahan, Efficient partitioning of fragment shaders for multipass rendering on programmable graphics hardware, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, September 01-02, 2002, Saarbrucken, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nolan Goodnight , Cliff Woolley , Gregory Lewin , David Luebke , Greg Humphreys, A multigrid solver for boundary value problems using programmable graphics hardware, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, July 26-27, 2003, San Diego, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jan Kautz , Mirko Sattler , Ralf Sarlette , Reinhard Klein , Hans-Peter Seidel, Decoupling BRDFs from surface mesostructures, Proceedings of the 2004 conference on Graphics interface, p.177-182, May 17-19, 2004, London, Ontario, Canada
|
|
|
Ian Buck , Tim Foley , Daniel Horn , Jeremy Sugerman , Kayvon Fatahalian , Mike Houston , Pat Hanrahan, Brook for GPUs: stream computing on graphics hardware, ACM Transactions on Graphics (TOG), v.23 n.3, August 2004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Andrew Riffel , Aaron E. Lefohn , Kiril Vidimce , Mark Leone , John D. Owens, Mio: fast multipass partitioning via priority-based instruction scheduling, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, August 29-30, 2004, Grenoble, France
|
|
|
Sathish Govindarajan , Mike Dietze , Pankaj Kumar Agarwal , James Clark, A scalable simulator for forest dynamics, Proceedings of the twentieth annual symposium on Computational geometry, June 08-11, 2004, Brooklyn, New York, USA
|
|
|
H. Du , M. Sanchez-Elez , N. Tabrizi , N. Bagherzadeh , M. L. Anido , M. Fernandez, Interactive ray tracing on reconfigurable SIMD MorphoSys, Proceedings of the 2003 conference on Asia South Pacific design automation, January 21-24, 2003, Kitakyushu, Japan
|
|
|
|
|
|
|
|
|
Nolan Goodnight , Cliff Woolley , Gregory Lewin , David Luebke , Greg Humphreys, A multigrid solver for boundary value problems using programmable graphics hardware, ACM SIGGRAPH 2005 Courses, July 31-August 04, 2005, Los Angeles, California
|
|
|
|
|
|
H. Du , M. Sanchez-Elez , N. Tabrizi , N. Bagherzadeh , M. L. Anido , M. Fernandez, Interactive Ray Tracing on Reconfigurable SIMD MorphoSys, Proceedings of the conference on Design, Automation and Test in Europe: Designers' Forum, p.20144, March 03-07, 2003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Greg Humphreys , Mike Houston , Ren Ng , Randall Frank , Sean Ahern , Peter D. Kirchner , James T. Klosowski, Chromium: a stream-processing framework for interactive rendering on clusters, ACM SIGGRAPH ASIA 2008 courses, p.1-10, December 10-13, 2008, Singapore
|
|
|
Jonathan Ragan-Kelley , Charlie Kilpatrick , Brian W. Smith , Doug Epps , Paul Green , Christophe Hery , Frédo Durand, The lightspeed automatic interactive lighting preview system, ACM Transactions on Graphics (TOG), v.26 n.3, July 2007
|
INDEX TERMS
Primary Classification:
I.
Computing Methodologies
I.3
COMPUTER GRAPHICS
Additional Classification:
I.
Computing Methodologies
I.2
ARTIFICIAL INTELLIGENCE
I.2.10
Vision and Scene Understanding
Subjects:
Texture
I.3
COMPUTER GRAPHICS
I.3.3
Picture/Image Generation
Subjects:
Display algorithms
I.3.6
Methodology and Techniques
Subjects:
Languages
I.3.7
Three-Dimensional Graphics and Realism
Subjects:
Color, shading, shadowing, and texture
I.4
IMAGE PROCESSING AND COMPUTER VISION
I.4.7
Feature Measurement
Subjects:
Texture
General Terms:
Algorithms,
Design,
Languages,
Measurement,
Performance,
Theory
Keywords:
OpenGL,
graphics hardware,
graphics systems,
illumination,
interactive rendering,
languages,
multi-pass rendering,
non-realistic rendering,
procedural shading,
programmable shading,
rendering,
texture mapping,
texture synthesis
|