AnySL: Efficient and portable shading for ray tracing

ISSN: 20798687
10Citations
Citations of this article
30Readers
Mendeley users who have this article in their library.

Abstract

While a number of different shading languages have been developed, their efficient integration into an existing renderer is notoriously difficult, often boiling down to implementing an entire compiler toolchain for each language. Furthermore, no shading language is broadly supported across the variety of rendering systems. AnySL attacks this issue from multiple directions: We compile shaders from different languages into a common, portable representation, which uses subroutine threaded code: Every language operator is translated to a function call. Thus, the compiled shader is generic with respect to the used types and operators. The key component of our system is an embedded compiler that instantiates this generic code in terms of the renderer's native types and operations. It allows for flexible code transformations to match the internal structure of the renderer and eliminates all overhead due to the subroutine threaded code. For SIMD architectures we automatically perform vectorization of scalar shaders which speeds up rendering by a factor of 3.9 on average on SSE. The results are highly optimized, parallel shaders that operate directly on the internal data structures of a renderer. We show that both traditional shading languages such as RenderMan, but also C/C++-based shading languages, can be fully supported and deliver high performance across different CPU renderers.

Cite

CITATION STYLE

APA

Karrenberg, R., Rubinstein, D., Slusallek, P., & Hack, S. (2010). AnySL: Efficient and portable shading for ray tracing. In High-Performance Graphics - ACM SIGGRAPH / Eurographics Symposium Proceedings, HPG (pp. 97–105). Association for Computing Machinery.

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free