Spark: modular, composable shaders for graphics hardware

Tim Foley, Pat Hanrahan
Intel Corporation, Stanford University
ACM SIGGRAPH 2011 papers, SIGGRAPH ’11, 2011


   title={Spark: Modular, Composable Shaders for Graphics Hardware},

   author={Foley, T. and Hanrahan, P.},

   journal={To appear in ACM TOG},





Download Download (PDF)   View View   Source Source   



In creating complex real-time shaders, programmers should be able to decompose code into independent, localized modules of their choosing. Current real-time shading languages, however, enforce a fixed decomposition into per-pipeline-stage procedures. Program concerns at other scales — including those that cross-cut multiple pipeline stages — cannot be expressed as reusable modules. We present a shading language, Spark, and its implementation for modern graphics hardware that improves support for separation of concerns into modules. A Spark shader class can encapsulate code that maps to more than one pipeline stage, and can be extended and composed using object-oriented inheritance. In our tests, shaders written in Spark achieve performance within 2% of HLSL.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2020 hgpu.org

All rights belong to the respective authors

Contact us: