Dragon Age II DX11 Technology

Slides:



Advertisements
Similar presentations
Destruction Masking in Frostbite 2 using Volume Distance Fields
Advertisements

CRYTEK © 2010 Crytek GmbH BRINGING STEREO TO CONSOLES Nicolas Schulz, R&D Graphics Engineer GDC Europe 2010, AAA Stereo-3D in CryENGINE.
Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Advanced Visual Effects with Direct3D
Adam Miles. Transport Tycoon Deluxe (TTD): Written by Chris Sawyer for Microprose in Written almost entirely in Assembly language. Designed for.
Exploration of advanced lighting and shading techniques
Adam Miles.  Transport Tycoon Deluxe (TTD):  Written by Chris Sawyer for Microprose in  Written almost entirely in Assembly language.  Designed.
Agenda Windows Display Driver Model (WDDM) What is GPUView?
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Parallax-Interpolated Shadow Map Occlusion
1 | Introducing GPU PerfStudio 2.0 | GDC 2009 Introducing AMD GPU PerfStudio 2.0 Next Generation GPU Performance Analysis & Debugging Tool from AMD GPG.
Exploration of bump, parallax, relief and displacement mapping
Filtering Approaches for Real-Time Anti-Aliasing
ADVANCED SKIN SHADING WITH FACEWORKS Nathan Reed — NVIDIA March 24, 2014.
3D Graphics Rendering and Terrain Modeling
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Results / Compared to Relief Mapping It does not scale linearly with screen coverage as does the other techniques. However, for larger displacements, it.
Optimizing and Debugging Graphics Applications with AMD's GPU PerfStudio 2.2 GPG Developer Tools Raul Aguaviva Gordon Selley Seth Sowerby.
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.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
A Survey of Real-time Soft Shadows Algorithms Speaker: Alvin Date: 2003/7/23 EUROGRAPHICS 2003 J.-M. Hasenfratz, M. Lapierre, N. Holzschuch and F.X. Sillion.
Practical and Robust Stenciled Shadow Volumes for Hardware-Accelerated Rendering Cass Everitt and Mark J. Kilgard Speaker: Alvin Date: 5/28/2003 NVIDIA.
Shadow Silhouette Maps Pradeep Sen, Mike Cammarano, Pat Hanrahan Stanford University.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Shadow Algorithms Gerald Matzka Computer Science Seminar.
4.2. D EFERRED S HADING Exploration of deferred shading (rendering)
My Tessellation Has Cracks! (and solutions to other tessellation related problems) Bryan Dudash Developer Technology, NVIDIA.
OPTIMIZING AND DEBUGGING GRAPHICS APPLICATIONS WITH AMD'S GPU PERFSTUDIO 2.5 GPG Developer Tools Gordon Selley Peter Lohrmann GDC 2011.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Aaron Schultz. Idea: Objects close to a light shadow those far away. Anything we can see from the light’s POV is lit. Everything hidden is dark. Distance.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
4.7. I NSTANCING Introduction to geometry instancing.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
Game Engine Jian-Liang Lin ( 林建良 )
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
GPU Graftals: Stylized Rendering of Fluffy Objects Michael Lester.
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
Wilf LaLonde ©2012 Comp 4501 COMP 4501 Advanced Computer Game Design and Development Wilf LaLonde.
BUMP-MAPPING SET09115 Intro to Graphics Programming.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
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.
Edison Gao 主讲人:高原. GameFinal A Next-Gen 3D Game Engine Edison Gao.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Graphics Processing Unit
Renderer Design for Multiple Lights
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
Stylized Environmental Rendering
The Graphics Rendering Pipeline
Cyber-Infrastructure
Computer Animation System Overview
Introduction to geometry instancing
3D applications in Delphi
RADEON™ 9700 Architecture and 3D Performance
Computer Graphics Introduction to Shaders
GEARS: A General and Efficient Algorithm for Rendering Shadows
Presentation transcript:

Dragon Age II DX11 Technology Andreas Papathanasis BioWare

Sequel to the successful RPG Dragon Age: Origins Focus on combat, magic, cinematics Rebooted Art Style, focus on Graphics technology Out next week on PC / Xbox 360 / PS3

Our pitch for DX11 technology We discussed within our project tiered options for taking advantage of next generation PC GPUs: Tier 0: DX9 with very high quality shaders Tier 1: Basic DX11 integration No compute or tessellation shaders Takes advantage of shader models 4 and 5 Tier 2: Typical DX11 integration Compute and tessellation shaders fully supported Tier 3: Advanced DX11 integration Multithreading Requires significant refactoring of the higher level engine Each tier costs more than the previous one. But also brings more benefits to the project and the studio’s technology in the long run. We went to our PM with these options, presenting benefits and cost to implement each tier. We recommended Tier 2 as the best tradeoff between benefit and engineering/testing effort. I will present the same arguments it took for us to convince our project this is worthwhile. Picture shows an example screenshot from the pitch document that demonstrates potential terrain rendering improvements with DX11 + tessellation technology.

Why DirectX 11? Opportunities to integrate well documented, impactful visual features using SM4/SM5, new shader stages Guaranteed feature set (no cap bits) Great way for programming and art teams to prepare for the next generation Powerful, evolving debugging tools Guaranteed functionality means we no longer have to code for different implementation levels and provide alternatives based on caps checks. Another unexpected advantage from DX11 was advanced GPU debugging tools from both hardware vendors, that work on DX11 only. These tools helped us identify and fix issues with all versions of our game. We expect many of the techniques we investigated (and likely the API itself) to be very relevant next generation

GPU PerfStudio 2 – Shader Debugging on DX10/DX11

Why DirectX 11? Steam hardware survey Reliable backwards compatibility with older hardware Customers have the hardware and expect games that use it Steam hardware survey The main reason we still support a DX9 rendering path is support for Windows XP. We expect our next project to be DX11 only. Various data shows a wide adoption of DirectX 10 and higher GPUs. Customers who invented in them are expecting to get something more out of PC games.

DirectX 11 features overview Dynamic lighting Tessellation Diffusion Depth of Field Contact hardening soft shadows

Dynamic Lighting

Dynamic Lighting

Dynamic Lighting Light buffer Based on the popular light pre-pass method http://www.wolfgang-engel.info/blogs/?p=26 Extra pass to render scene normals Render all dynamic light spheres to a light buffer Allows for hundreds of lights Minimal engineering effort to integrate on DX11: Multiple render targets work with MSAA Guaranteed render target format support Small per-draw overhead on the CPU Makes a lot of sense for a spell-rich game like Dragon Age II Light buffer Our base DX9 forward rendering architecture only allows for 2 dynamic lights per object.

Tessellation Big research focus for the team Great potential for taking geometric detail to the next level Lends itself to LOD naturally, without affecting CPU or complicating the engine codebase

Tessellation challenges Piecewise level construction can cause gaps between adjacent objects when normals don’t match at the edges would require content to be redone for DX11 fell back to parallax mapping techniques for displaced look ongoing research topic for our next projects Some content (i.e. characters) is already tessellated at desired density for non DX11 platforms On Dragon Age II we used tessellation for terrain silhouette smoothing (using PN triangles algorithm)

Tessellation on terrain Without tessellation With tessellation PN triangles algorithm is ideal for surfaces that are supposed to be smooth (like terrain here).

Tessellation performance VERY easy to kill performance with excessive tessellation Performance improvements that made a difference in our engine (sorted in order of the performance win we got): Only tessellate objects close enough to the camera LOD in the hull shader View frustum culling (important for high polygon objects that span a large area, like terrain) Distance adaptive tessellation factor Only tessellate objects that will end up being visible (occlusion culling even more relevant if you’re rendering lots of tessellated objects)

Diffusion Depth of Field Custom multi-pass Diffusion DOF solver Technique will be described by Holger Gruen later today, and appear in Game Engine Gems 2 Much higher quality than our DX9 DOF solution, almost as efficient

Diffusion Depth of Field DX9 DOF Diffusion DOF

Diffusion Depth of Field DX9 DOF

Diffusion Depth of Field Diffusion DOF

Contact hardening shadows

Contact hardening shadows High quality shadow filter Accelerated by GatherRed/GatherCmpRed Shader Model 5 instructions Shader source code in the DirectX SDK Trivial to integrate, great visual quality improvement for directional shadows

Contact hardening shadows Old PCF filter Non uniform contact hardening filter

References Light pre-pass PN triangle implementation http://www.wolfgang-engel.info/blogs/?p=26 PN triangle implementation June 2010 DirectX SDK, PNTriangles11 sample Diffusion DOF solver Game Engine Gems 2 (http://www.gameenginegems.net/) Contact hardening soft shadows June 2010 DirectX SDK, ContactHardeningShadows11 sample

Conclusion API and market is mature Lots of algorithms available that can enhance your particular style of game Initial investment in DX11 integration should pay off quickly Hardware vendors can help you You should weight the cost of integrating DX11 technology against the tradeoffs. The sooner you do it . For us, we got significant benefits in the quality of our first DX11 game. Both hardware vendors are extremely helpful when it comes to providing integration and optimization assistance. They can also suggest features that can benefit your game.

Q & A DirectX 9 DirectX 11 andreas@bioware.com