skip to main content
10.1145/1111411.1111425acmconferencesArticle/Chapter ViewAbstractPublication Pagesi3dConference Proceedingsconference-collections
Article

Abstract shade trees

Published: 14 March 2006 Publication History

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 handwritten code.

References

[1]
Abram G. D., Whitted T. Building block shaders. Computer Graphics, 24:4, 1990, pp 283--288
[2]
Batory D., Feature-Oriented Programming and the AHEAD Tool Suite, ICSE, 2004
[3]
Borau R., Domik G., Goetz F. An XML-based visual shading language for vertex and fragment shaders, 3D technologies for the World Wide Web, in Proc. 3D Web Tech., 2004, pp 87--97
[4]
Batory D. and O'Malley D., The Design and Implementation of Hierarchical Software Systems with Reusable Components, TOSEM, 1992, 1:4, pp 355--398
[5]
Buck I., Foley T., Horn D., Sugerman J., Fatahalian K., Houston M., and Hanrahan P., Brook for GPUs: Stream Computing on Graphics Hardware, ACM Trans. on Graph., 23:3, 2004, pp 777--784
[6]
Clements P. and Northrop L., Software Product Lines: Practices and Patterns, Addison-Wesley, 2002
[7]
Cook R. L. Shade Trees. In Proc. Computer Graphics and Interactive Techniques, July 1984, pp 223--231
[8]
Chan E., Ng R., Sen, P., Proudfoot K., Hanrahan, P. Efficient Partitioning of Fragment Shaders for Multipass Rendering on Programmable Graphics Hardware, Graphics Hardware, 2002, pp 69--78
[9]
Dijkstra E. W., A Discipline of Programming, Prentice-Hall, 1976
[10]
Kiczales G., Lamping J., Mendhekar A., Maeda C., Lopes C. V., Loingtier J., and Irwin J., Aspect-Oriented Programming, ECOOP, June 1997
[11]
McCool M. D., Qin Z., and Popa T. S. Shader Metaprogramming. Graphics Hardware, 2002. pp 57--68
[12]
McCool M. D., Du Toit S., Popa T., Chan B., Moule K., Shader Algebra. ACM Trans. on Grap., 23:3, 2004, pp. 787--795
[13]
Parnas D. L., On the Criteria To Be Used in Decomposing Systems Into Modules, CACM, vol 15, no 12, Dec 1972, pp. 1053--1058
[14]
Pellacini F., User-configurable automatic shader simplification, ACM Trans. Graph., 24:3, 2005, pp 445--452
[15]
Raskar R., Cohen M., Image Precision Silhouette Edges, 13D, 1999, pp 135--140
[16]
Turner C. R., Fuggetta A., Lavazza L., Wolf A. L., A Conceptual Basis for Feature Engineering, Journal of Systems and Software, vol 49, no 1, Dec 1999, pp 3--15
[17]
Visual Material Editor, Unreal Engine 3 Whitepaper, Epic Corporation, 2006 http://www.unrealtechnology.com/html/technology/ue30.shtml

Cited By

View all
  • (2022)Dressi: A Hardware‐Agnostic Differentiable Renderer with Reactive Shader Packing and Soft RasterizationComputer Graphics Forum10.1111/cgf.1445541:2(13-27)Online publication date: 24-May-2022
  • (2019)Biomimetic eye modeling & deep neuromuscular oculomotor controlACM Transactions on Graphics10.1145/3355089.335655838:6(1-14)Online publication date: 8-Nov-2019
  • (2019)DeepFoveaACM Transactions on Graphics10.1145/3355089.335655738:6(1-13)Online publication date: 8-Nov-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
I3D '06: Proceedings of the 2006 symposium on Interactive 3D graphics and games
March 2006
231 pages
ISBN:159593295X
DOI:10.1145/1111411
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2006

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 148 of 485 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Dressi: A Hardware‐Agnostic Differentiable Renderer with Reactive Shader Packing and Soft RasterizationComputer Graphics Forum10.1111/cgf.1445541:2(13-27)Online publication date: 24-May-2022
  • (2019)Biomimetic eye modeling & deep neuromuscular oculomotor controlACM Transactions on Graphics10.1145/3355089.335655838:6(1-14)Online publication date: 8-Nov-2019
  • (2019)DeepFoveaACM Transactions on Graphics10.1145/3355089.335655738:6(1-13)Online publication date: 8-Nov-2019
  • (2019)Data-driven interior plan generation for residential buildingsACM Transactions on Graphics10.1145/3355089.335655638:6(1-12)Online publication date: 8-Nov-2019
  • (2019)Staged metaprogramming for shader system developmentACM Transactions on Graphics10.1145/3355089.335655438:6(1-15)Online publication date: 8-Nov-2019
  • (2019)Multi-theme generative adversarial terrain amplificationACM Transactions on Graphics10.1145/3355089.335655338:6(1-14)Online publication date: 8-Nov-2019
  • (2019)DiCEACM Transactions on Graphics10.1145/3355089.335655238:6(1-13)Online publication date: 8-Nov-2019
  • (2019)Video-guided real-to-virtual parameter transfer for viscous fluidsACM Transactions on Graphics10.1145/3355089.335655138:6(1-12)Online publication date: 8-Nov-2019
  • (2019)Checkerboard patterns with black rectanglesACM Transactions on Graphics10.1145/3355089.335651438:6(1-13)Online publication date: 8-Nov-2019
  • (2019)Differentiable surface splatting for point-based geometry processingACM Transactions on Graphics10.1145/3355089.335651338:6(1-14)Online publication date: 8-Nov-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media