Download presentation
Presentation is loading. Please wait.
Published byLindsey Franklin Modified over 9 years ago
2
Ritual ™ Entertainment: Next-Gen Effects on Direct3D ® 10 Sam Z. Glassenberg Program Manager Microsoft ® – Direct3D ® Doug Service Director of Technology Development Ritual™ Entertainment
3
Overview Crash Course in Direct3D 10 …What’s a Geometry Shader? Ritual: Targeting Direct3D 10
4
Direct3D 10: Design Imperatives Consistency (like a console) Guaranteed base feature set for you to target no ‘caps’ Strictly-defined behavior across all chipsets Performance Dramatically improved small-batch performance by design Offload the CPU with a more powerful geometry engine Visual Effects Increased flexibility and programmability New hardware capabilities
5
Overview: The New Hardware Pipeline Texture Arrays Geometry Shader Stream Output Resource Views Input Assembler Common Shader Core (SM 4.0) Integer/Bitwise Instructions Comparison Filtering Constant Buffers State Objects New compressed formats for HDR, normal/bump map content More textures, RT’s, instructions, registers, interstage communication Predicated Rendering Alpha-to-Coverage Multisample Readback …
6
Overview: The New Software Stack Streamlined and Layered Runtime Clean and Consistent API Robust debugging layers Lean’n’mean core New HLSL Compiler w/ New Language Features New Effects System Built upon the new Windows Vista ™ Display Driver Model
7
New Resource Types Texture1D/2D Array Dynamically Indexable in the Shader
8
New Resource Types Texture1D/2D Array Dynamically Indexable in the Shader Bind-able as Render Targets Each RenderTarget/DepthStencil can be a Render Target Array
9
Ubiquity of Resource Access Resource Views Example: Cubemap Views enable interpretation of resources at different bind locations
10
Ubiquity of Resource Access Resource Views Example: Cubemap
11
Views enable format re-interpretation of resource data Ubiquity of Resource Access Resource Views Example: Cubemap
12
Resource Views: Applications Depth/Stencil Readback Render-To-Cubemap Render-To-Volume Render-To-Buffer Render-To-Bitfield Render-To-Mipslice Custom Data Packing/Unpacking LOD Clamping
13
The Old Pipeline Direct3D 9 and Direct3D 9-based Platforms One Vertex In One Vertex Out
14
The Old Pipeline Direct3D 9 and Direct3D 9-based Platforms
19
The New Pipeline Direct3D10 – Geometry Shader Access to the whole primitive Triangle Line Point With adjacency
20
The New Pipeline Direct3D10 – Geometry Shader Usages All-GPU Material Systems Per-Primitive material selection & setup Compute edge lengths and wrinkle models Compute plane equations Compute silhouette edges Set up barycentrics to exceed # of interpolators
21
Geometry Shader Amplification and De-Amplification Emits primitives of a specified output type (point, linestrip, trianglestrip) Limited geometry amplification/de- amplification: Output 0-1024 values per invocation No more 1 in / 1 out limit! Shadow Volumes/Fur/Fins Procedural Geometry/Detailing All-GPU Particle Systems Point Sprites
22
Geometry Shader Amplification and De-Amplification Emits primitives of a specified output type (point, linestrip, trianglestrip) Limited geometry amplification/de- amplification: Output 0-1024 values per invocation No more 1 in / 1 out limit! Shadow Volumes/Fur/Fins Procedural Geometry/Detailing All-GPU Particle Systems Point Sprites
23
Geometry Shader System-Interpreted Values GS Can Emit a System-Interpreted Value: RenderTargetArrayIndex for the primitive Choose a slice for render-to-volume Choose a face for render-to-cubemap MRT still specified in the PS RenderTargetArrayIndex = 0
24
Geometry Shader System-Interpreted Values GS Can Emit a System-Interpreted Value: RenderTargetArrayIndex for the primitive Choose a slice for render-to-volume Choose a face for render-to-cubemap MRT still specified in the PS RenderTargetArrayIndex = 2
25
Stream Output Streams VS/GS results to one or more buffers in memory DrawAuto() to draw dynamic amounts of GS data without App/CPU intervention Uses: Iterative/procedural geometry processing All-GPU particle systems …… DrawAuto()
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.