Presentation is loading. Please wait.

Presentation is loading. Please wait.

DirectX Graphics: Direct3D 10 and Beyond Sam Z. Glassenberg Lead Program Manager Graphics Platforms Unit Microsoft Corporation.

Similar presentations

Presentation on theme: "DirectX Graphics: Direct3D 10 and Beyond Sam Z. Glassenberg Lead Program Manager Graphics Platforms Unit Microsoft Corporation."— Presentation transcript:

1 DirectX Graphics: Direct3D 10 and Beyond Sam Z. Glassenberg Lead Program Manager Graphics Platforms Unit Microsoft Corporation

2 Graphics Core In Windows Vista DXG Kernel Kernel-Mode Driver User Mode Kernel Mode IHV-writtencodeMicrosoft- written code OpenGL ICD User-Mode Driver Legacy D3D APIs Direct3D 10 D3D9OpenGL MIL Common pipeline (DDI) D3D9 Ex DX VA Media Foundation Win32 Kernel GDIDXGI PIX WPF DWM

3 Graphics Core In Windows Vista Direct3D 10

4 Outline The next few years Direct3D 10 and Direct3D “10.1” Design Imperatives Features and Capabilities Applications

5 The Situation Today No single graphics hardware target CPU-bound games and applications Bandwidth and CPU cycles are the bottleneck in multiple areas (physics, AI) Large amount of CPU resources spent directing the GPU GPU CPU

6 The Situation Today No single graphics hardware target CPU-bound games and applications Bandwidth and CPU cycles are the bottleneck in multiple areas (physics, AI) Large amount of CPU resources spent directing the GPU GPU overly-specialized

7 Direct3D 10 Unleashing the power of the GPU Consistency – guarantee a common feature-set with strict requirements Performance – Render MORE objects, materials, clutter, vegetation, shadows with LESS CPU cycles, stalls, and bandwidth cost Visual Effects – unprecedented graphics Capability – empower the GPU to handle a new series of applications

8 Direct3D 10 Rebuilt from the ground-up Direct3D 10 changes the way applications think about… Material management GPU State, constants, shaders, … CPU/GPU load-balancing Vastly reduced API/driver overhead More robust GPU capability CPU-like precision and behavior requirements

9 Direct3D 10 Applications Increasing breadth of applicability Cutting-edge Windows Vista games Workstation graphics Image, video, and data processing

10 Direct3D 10 Features Texture Arrays Format Reinterpretation Stream Output Resource Views Input Assembler Immediate offset on Memory Access Integer/Bitwise Instructions Comparison Filtering Constant Buffers State Objects Shared-Exponent HDR Compression (RGBE) Block-Compressed Formats for bump/normal maps 128 texture slots 8 Render targets More interstage communication Instance, Vertex, Primitive identifiers Per-primitive Clip distance Predicated Rendering Alpha-to-Coverage Multisample Readback Better cubemap filtering Input Assembler … Vertex Buffer Index Buffer Texture Depth/Stencil Render Target Stream Output Vertex Shader Geometry Shader Rasterizer/ Interpolator Pixel Shader Output Merger

11 Direct3D 10 Geometry Shader Applications Full control over the whole triangle All-GPU Material Systems Better materials Hi-quality interpolation and derivatives Wrinkle models Cartoon and falloff effects Geometry/data amplification Fur/Fins Procedural geometry/detailing All-GPU Particle Systems Data visualization techniques Wide lines and strokes … Geometry Shader

12 Geometry Shader Example Shadow volume generation

13 Geometry Shader Example Generalized displacement maps Normal mapping (Direct3D 9)

14 Geometry Shader Example Generalized displacement maps Displacement Mapping (Direct3D 10)

15 Single Pass Render-To-Cubemap Geometry Shader

16 Single Pass Render-To-Cubemap

17 Render-To-Volume Geometry Shader

18 Stream Output Dynamic procedural content example

19 Shader Model 4.0 A new level of programmability Common Shader Core Full integer/bitwise instruction set Massively parallel image and data processing Custom decompression schemes Buffer Load – CPU-like unfiltered memory access Switch statements and subroutines No limits More interstage registers, samplers, textures Unlimited instruction count

20 Direct3D 10 Performance Doing more in a single call Set a bulk of render state with state objects Render to an entire cubemap/volume Render multiple specialized objects using advanced instancing features Generate procedural detail Juggle multiple materials in a single shader

21 Direct3D 10 GPU material management Render a multitude of unique materials without taxing the CPU Unlimited instruction length Switch statements Texture arrays Geometry shader Constant buffers Access to material descriptions

22 Direct3D 10 Performance Maximizing bandwidth efficiency Constant Buffers Update shader constant data (light positions, material info, camera info, etc.) in bulk, only when needed Streamlined GPU resource update mechanisms Fast CPU readback via staging New compression formats

23 Consistency Strictly-defined, consistent behavior throughout IEEE floating-point compliance (almost) Precise FP32 sampling/blending/math/conversion rules; i.e. FP32 shader ops – precise to 1.0 ULP FP32 to Integer – precise to 0.6 ULP per op FP16 blending – precise to 0.6 ULP per op 32-bit blending required Exact line/triangle/anti-aliased drawing rules

24 No Caps In Direct3D 10! Direct3D 10 Optional Format Support >1 Sample MSAA 32-bit FP filtering RGB32 Rendertarget (RGBA32 is required) Hardware (and applications) will scale on perf, not feature selection Increases breadth of applicability Performance is critical for a good experience

25 The API exposes Direct3D 10-class hardware Performance-focused API No downlevel hardware support Clean and consistent API All features guaranteed Direct3D 10 takes full advantage of WDDM Direct3D 10 is Windows Vista/WDDM-only WDDM-basic guaranteed to Direct3D 10 developers Kernel Mode User Mode Direct3D10: An Inflection Point User-Mode Driver Graphics Hardware DXGKml GPU Mem Mgr. GPU Scheduler Direct3D Application Kernel-Mode Driver

26 Direct3D 10 Status Hardware spec frozen for over a year First publicly-available Tech Preview in December 2005 Aligned with Windows Vista CTP’s Updates bimonthly Direct3D 10 Beta in Windows Vista Beta 2 RTM in Windows Vista Currently underway IHV driver development Conformance test development Launch titles


28 The Next Step: “Direct3D 10.1”

29 Direct3D 10.1 Design imperatives Incremental hardware and software update to Direct3D 10 Strict superset of Direct3D 10 features API support for Direct3D 10 and 10.1 hardware

30 Direct3D 10.1 Goals Guarantee WDDM 2.1-level capability to developers and end-users Lower CPU overhead Massive datasets Increase capability and performance “Complete” Direct3D 10 Boost image quality: Improved anti-aliasing

31 Direct3D 10.1 Features Full anti-aliasing control Application control over: Multi-sample AA (smooth edges) or Super-sample AA (smooth edges and interior) Selecting sample patterns Pixel coverage mask High-quality vegetation, motion blur, particles… Minimum of 4 samples/pixel required

32 Direct3D 10.1 Features Increased pipeline and shader capability Improved shader resource access Greater control over MSAA readback Custom downsample filters Improved shadow filtering Float32 filtering requirement Better HDR Enhanced blending Independent blend modes per-rendertarget New blend-able rendertarget formats Increased pipeline precision

33 Direct3D 10.1 Features Performance enhancements Enable applications to further exploit multicore for rendering Fewer API calls for reflections and refractions Support for indexable, generalized cubemap arrays

34 Call To Action Invest in performant Direct3D graphics – end-user value scales with performance Not just games! (but games will look much better) Direct3D 10 and WDDM for 2007 Direct3D 10.1 and WDDM 2.1 for “next”

35 Additional Resources DirectX Developer Center Direct3D 10 Tech Preview Available in the DirectX SDK Includes ~25 samples and tutorials – with videos Direct3D 10 reference rasterizer, documentation, tools… Game Developer Conference 2006 and PDC 2005 Direct3D 10 presentations Related sessions Future Directions in Graphics WDDM v2 and Beyond

36 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "DirectX Graphics: Direct3D 10 and Beyond Sam Z. Glassenberg Lead Program Manager Graphics Platforms Unit Microsoft Corporation."

Similar presentations

Ads by Google