Ritual ™ Entertainment: Next-Gen Effects on Direct3D ® 10 Sam Z. Glassenberg Program Manager Microsoft ® – Direct3D ® Doug Service Director of Technology.

Slides:



Advertisements
Similar presentations
Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Advertisements

DirectX11 Performance Reloaded
Introduction to the Direct3D 11 Graphics Pipeline
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Peter-Pike Sloan Microsoft Corporation
DirectX Graphics: Direct3D 10 and Beyond
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Direct3D 11 Performance Tips & Tricks Holger GruenAMD ISV Relations Cem CebenoyanNVIDIA ISV Relations.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
 The success of GL lead to OpenGL (1992), a platform-independent API that was  Easy to use  Close enough to the hardware to get excellent performance.
The Programmable Graphics Hardware Pipeline Doug James Asst. Professor CS & Robotics.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Introduction to Geometry Shaders Patrick Cozzi Analytical Graphics, Inc.
A Crash Course on Programmable Graphics Hardware Li-Yi Wei 2005 at Tsinghua University, Beijing.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
Introduction to Geometry Shaders Patrick Cozzi Analytical Graphics, Inc.
Many-Core Programming with GRAMPS Jeremy Sugerman Kayvon Fatahalian Solomon Boulos Kurt Akeley Pat Hanrahan.
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
The programmable pipeline Lecture 10 Slide Courtesy to Dr. Suresh Venkatasubramanian.
Rudolph Balaz PRS311 Program Manager Microsoft Corporation
GPU Tutorial 이윤진 Computer Game 2007 가을 2007 년 11 월 다섯째 주, 12 월 첫째 주.
You can use 3D graphics to enhance and differentiate your Metro style app.
Shekoofeh Azizi Spring  CUDA is a parallel computing platform and programming model invented by NVIDIA  With CUDA, you can send C, C++ and Fortran.
High Performance in Broad Reach Games Chas. Boyd
Ultimate Graphics Performance for DirectX 10 Hardware Nicolas Thibieroz European Developer Relations AMD Graphics Products Group
NVIDIA Graphics and Cg Mark Kilgard Graphics Software Engineer NVIDIA Corporation GPU Shading and Rendering Course 3 July 30, 2006.
Gaming Technologies Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation Craig Peeper Software Architect Windows.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Havok. ©Copyright 2006 Havok.com (or its licensors). All Rights Reserved. HavokFX Next Gen Physics on ATI GPUs Andrew Bowell – Senior Engineer Peter Kipfer.
Computer Graphics Graphics Hardware
GPU Shading and Rendering Shading Technology 8:30 Introduction (:30–Olano) 9:00 Direct3D 10 (:45–Blythe) Languages, Systems and Demos 10:30 RapidMind.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
A Crash Course in HLSL Matt Christian.
4/23/2017 4:23 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
The programmable pipeline Lecture 3.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
NVTune Kenneth Hurley. NVIDIA CONFIDENTIAL NVTune Overview What issues are we trying to solve? Games and applications need to have high frame rates Answer.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
Review of OpenGL Basics
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Xbox MB system memory IBM 3-way symmetric core processor ATI GPU with embedded EDRAM 12x DVD Optional Hard disk.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
David Luebke 1 1/25/2016 Programmable Graphics Hardware.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Emerging Technologies for Games Capability Testing and DirectX10 Features CO3301 Week 6.
Ray Tracing using Programmable Graphics Hardware
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
DX10, Batching, and Performance Considerations Bryan Dudash NVIDIA Developer Technology.
Advanced D3D10 Shader Authoring Presentation/Presenter Title Slide.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 GPU.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Computer Graphics Graphics Hardware
A Crash Course on Programmable Graphics Hardware
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
Chapter 6 GPU, Shaders, and Shading Languages
A lap around DirectX game development tools
Graphics Processing Unit
Computer Graphics Graphics Hardware
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Ritual ™ Entertainment: Next-Gen Effects on Direct3D ® 10 Sam Z. Glassenberg Program Manager Microsoft ® – Direct3D ® Doug Service Director of Technology Development Ritual™ Entertainment

Overview  Crash Course in Direct3D 10  …What’s a Geometry Shader?  Ritual: Targeting Direct3D 10

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

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  …

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

New Resource Types Texture1D/2D Array  Dynamically Indexable in the Shader

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

Ubiquity of Resource Access Resource Views Example: Cubemap  Views enable interpretation of resources at different bind locations

Ubiquity of Resource Access Resource Views Example: Cubemap

 Views enable format re-interpretation of resource data Ubiquity of Resource Access Resource Views Example: Cubemap

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

The Old Pipeline Direct3D 9 and Direct3D 9-based Platforms  One Vertex In  One Vertex Out

The Old Pipeline Direct3D 9 and Direct3D 9-based Platforms

The New Pipeline Direct3D10 – Geometry Shader  Access to the whole primitive  Triangle  Line  Point  With adjacency

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

Geometry Shader Amplification and De-Amplification  Emits primitives of a specified output type (point, linestrip, trianglestrip)  Limited geometry amplification/de- amplification: Output values per invocation  No more 1 in / 1 out limit!  Shadow Volumes/Fur/Fins  Procedural Geometry/Detailing  All-GPU Particle Systems  Point Sprites

Geometry Shader Amplification and De-Amplification  Emits primitives of a specified output type (point, linestrip, trianglestrip)  Limited geometry amplification/de- amplification: Output values per invocation  No more 1 in / 1 out limit!  Shadow Volumes/Fur/Fins  Procedural Geometry/Detailing  All-GPU Particle Systems  Point Sprites

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

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

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()