510 likes | 706 Views
Outline. Introduction
E N D
1. Designing a Portable Shader Library for Current and Future API's David Gosselin
3D Application Research Group
2. Outline Introduction & Motivation
Demos
Case Study: ATI’s demo shader format
Design Goals
Artist’s Interface
Texture Definitions
Vertex and Index Buffers
Sub-shaders and Passes
Vertex and Pixel Shaders
Converting from D3D ASM to HLSL
Example
3. Motivation Share the lessons learned from our shader library
Shaders in general
Moving from D3D ASM to HLSL
Show some advantages to being shader-centric
Show ways to include fallback paths
Show cross platform generalizations
Would like to see more games use shaders and not just target the least common denominator for graphics
4. Why Shaders? Direction of the Industry
Hardware very shader driven
Will continue down this path
Modern engines need to be shader aware
High level shader languages (HLSL and OpenGL) make shaders easier to write
Visual flexibility
Less engine churn
5. What is a Shader Library? Library in the sense of a linkable .lib file or collection of source code
Not a collection of shaders
Abstracts Graphics API
Render States
Constant Binding
Shader Binding
Etc.
Manages Shaders
Integrates with preprocessing/export
6. Engine Block Diagram