A language for shading and lighting calculations
SIGGRAPH '90 Proceedings of the 17th annual conference on Computer graphics and interactive techniques
SIGGRAPH '95 Proceedings of the 22nd annual conference on Computer graphics and interactive techniques
Optimizing direct threaded code by selective inlining
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Sampling procedural shaders using affine arithmetic
ACM Transactions on Graphics (TOG)
Advanced RenderMan: Creating CGI for Motion Picture
Advanced RenderMan: Creating CGI for Motion Picture
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Conversion of control dependence to data dependence
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
BMRT: a global illumination implementation of the RenderMan standard
Journal of Graphics Tools
Automatic shader level of detail
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
Cg: a system for programming graphics hardware in a C-like language
ACM SIGGRAPH 2003 Papers
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
OpenGL(R) Shading Language
Modified noise for evaluation on graphics hardware
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
Pixar's PhotoRealistic RenderMan version 13
ACM SIGGRAPH 2006 Courses
RTSL: a Ray Tracing Shading Language
RT '07 Proceedings of the 2007 IEEE Symposium on Interactive Ray Tracing
Automatic bounding of programmable shaders for efficient global illumination
ACM SIGGRAPH Asia 2009 papers
Physically Based Rendering, Second Edition: From Theory To Implementation
Physically Based Rendering, Second Edition: From Theory To Implementation
CommonVolumeShader: simple and portable specification of volumetric light transport in X3D
Proceedings of the 16th International Conference on 3D Web Technology
Collaborative visualization: current systems and future trends
Proceedings of the 16th International Conference on 3D Web Technology
Active thread compaction for GPU path tracing
Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics
Razor: An architecture for dynamic multiresolution ray tracing
ACM Transactions on Graphics (TOG)
Realistic lighting simulation for interactive VR applications
EGVE - JVRC'11 Proceedings of the 17th Eurographics conference on Virtual Environments & Third Joint Virtual Reality
Grand challenges: material models in automotive
MAM '13 Proceedings of the Eurographics 2013 Workshop on Material Appearance Modeling: Issues and Acquisition
Hi-index | 0.00 |
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.