Abstract Shade Trees

Presented at I3D 2006.

Morgan McGuire, Williams College
George Stathis, Harvard Extension School
Hanspeter Pfister, MERL
Shriram Krishnamurthi, Brown University

Paper (PDF)
Presentation (PPT)
Movie (WMV)
Abstract
Images
Epilogue
BibTex



This work was performed at MERL and Brown University

Abstract

As GPU-powered special effects become more sophisticated, it becomes harder to create and manage effect interaction using the fairly primitive shading languages. This difficulty also introduces a workflow problem: artists design effects but only programmers can implement them, making it impossible for them to work asynchronously.

To address these problems we present abstract shade trees and heuristic algorithms that operate over them. The trees allow designers to easily create effects by connecting primitives such as cube mapping and modulation. These primitives publish semantically rich types that encapsulate notions like vector basis and normalization. The algorithms employ these published types to automatically infer atomic and compound connectors between the primitives, and generate code for the tree. We also describe a visual editing environment for specifying the trees.

Our data structure and algorithms spare designers from having to specify low-level programming details, enabling them to experiment without depending on programmers. The algorithms ensure that the generated code will be free of type-mismatches, a problem in previous shade trees. The abstract shade tree can also naturally express high-level features like shadows and reflections whose implementations overlap; that cross-cutting has made them difficult to modularize in more traditional ways.

In experiments, the generated shaders are as efficient as hand-written code.

Images

Epilogue

Here's interesting related work that occured since our paper was published, or that we didn't have space to review for I3D.

BibTex


@inproceedings{mcguire2006shadetrees,
 author = {Morgan Mc{G}uire and George Stathis and Hanspeter Pfister and Shriram Krishnamurthi},
 title = {Abstract shade trees},
 booktitle = {I3D '06: Proceedings of the 2006 symposium on Interactive 3D graphics and games},
 year = {2006},
 isbn = {1-59593-295-X},
 pages = {79--86},
 location = {Redwood City, California},
 doi = {http://doi.acm.org/10.1145/1111411.1111425},
 publisher = {ACM},
 address = {New York, NY, USA},
 }