1 / 51

Designing a Portable Shader Library for Current and Future APIs

Outline. Introduction

quincy
Télécharger la présentation

Designing a Portable Shader Library for Current and Future APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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

More Related