2000 · 19 citations · 38 references
ComputingComputer EngineeringComputer ScienceComputer GraphicsReal-time RenderingRenderingComputer Graphics HardwareGraphics Processing UnitsHardware AccelerationReal-time GraphicsShader ProgrammingSurface ShadingProgramming Model DesignReal-time Rendering HardwareShader CompilationShader LanguagesShader MetaprogrammingShader-based RenderingShading HardwareShading Language
The SMASH API is a testbed for real-time, low-level graphics concepts. It is being developed to serve as a concrete target for the development of advanced extensions to OpenGL as well as a driver to test hardware architectures to support these extensions. SMASH is syntactically and conceptually similar to OpenGL but supports (along with other experimental features) a programmable shader sub-API that is compatible with both multi-pass and single-pass implementations of shaders. Arbitrary numbers of shader parameters of various types can be bound to vertices of geometric primitives using a simple immediatemode mechanism. Run-time specification, manipulation, and compilation of shaders is supported. The intermediate-level shading language includes integrated support for per-vertex and perfragment shaders under a common programming model. Implementation of real-time rendering effects using SMASH could be enhanced with metaprogramming toolkits and techniques, up to and including RenderMan-like textual shading languages and C++ toolkits with similar levels of compactness and functionality. We give several examples of how a two-term separable BRDF approximation could be implemented using such higher-level constructs.
38
Marc Levoy, Pat Hanrahan · 1996 · 3.7K citations · Full text
Steven J. Gortler, Radek Grzeszczuk, Richard Szeliski et al. · 1996 · 2.5K citations · Full text
Ken Perlin · ACM SIGGRAPH Computer Graphics · 1985 · 2K citations
Dean M. Tullsen, Susan J. Eggers, Henry M. Levy · 1995 · 1.4K citations · Full text
Robert Alverson, David Callahan, Daniel Cummings et al. · 2014 · 649 citations