ACM Home Page
Please provide us with feedback. Feedback
Shader metaprogramming
Full text PdfPdf (630 KB)
Source SIGGRAPH/EUROGRAPHICS Conference On Graphics Hardware archive
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware table of contents
Saarbrucken, Germany
SESSION: Shading and shaders table of contents
Pages: 57 - 68  
Year of Publication: 2002
ISBN:1-58113-580-7
Authors
Michael D. McCool  University of Waterloo, Waterloo, Ontario, Canada
Zheng Qin  University of Waterloo, Waterloo, Ontario, Canada
Tiberiu S. Popa  University of Waterloo, Waterloo, Ontario, Canada
Sponsors
EUROGRAPH : Eurographics Organization
SIGGRAPH: ACM Special Interest Group on Computer Graphics and Interactive Techniques
Publisher
Eurographics Association  Aire-la-Ville, Switzerland, Switzerland
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 78,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

Modern graphics accelerators have embedded programmable components in the form of vertex and fragment shading units. Current APIs permit specification of the programs for these components using an assembly-language level interface. Compilers for high-level shading languages are available but these read in an external string specification, which can be inconvenient.It is possible, using standard C++, to define a high-level shading language directly in the API. Such a language can be nearly indistinguishable from a special-purpose shading language, yet permits more direct interaction with the specification of textures and parameters, simplifies implementation, and enables on-the-fly generation, manipulation, and specialization of shader programs. A shading language built into the API also permits the lifting of C++ host language type, modularity, and scoping constructs into the shading language without any additional implementation effort.


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
3DLabs. OpenGL 2.0 Shading Language White Paper, 1.1 edition, December 2001.
 
2
 
3
 
4
ATI. Pixel Shader Extension, 2000. Specification document, available from http://www.ati.com/online/sdk.
 
5
 
6
 
7
8
9
10
11
12
 
13
 
14
Jan Kautz and Michael D. McCool. Approximation of glossy reflection with prefiltered environment maps. In Proc. Graphics Interface, pages 119-126, May 2000.
 
15
 
16
B. W. Kernighan. Pic --- a language for typesetting graphics. Software --- Pract. and Exper. (GB), 12:1-21, January 1982.
 
17
E. Lafortune and Y. Willems. Using the modified Phong reflectance model for physically based rendering. Technical Report CW197, Dept. Comp. Sci., K. U. Leuven, 1994.
18
19
 
20
Jon Leech. OpenGL extensions and restrictions for PixelFlow. Technical Report TR98-019, Department of Computer Science, University of North Carolina, 1998.
21
22
23
 
24
Michael D. McCool. SMASH: A Next-Generation API for Programmable Graphics Accelerators. Technical Report CS-2000-14, University of Waterloo, April 2001. API Version 0.2. Presented at SIGGRAPH 2001 Course #25, Real-Time Shading.
 
25
Microsoft. DX9, 2001. Microsoft Meltdown 2001 presentation, available from http://www.microsoft.com/-mscorp/corpevents/meltdown2001/ppt/DXG9.ppt.
26
 
27
 
28
29
30
31
 
32
Todd L. Veldhuizen. C++ Templates as Partial Evaluation. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, 1999.

CITED BY  14

Collaborative Colleagues:
Michael D. McCool: colleagues
Zheng Qin: colleagues
Tiberiu S. Popa: colleagues