+ All Categories
Home > Documents > Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Date post: 01-Apr-2015
Category:
Upload: kurt-spracklin
View: 226 times
Download: 1 times
Share this document with a friend
25
Transcript
Page 1: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.
Page 2: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Dragon Age II DX11 TechnologyAndreas Papathanasis

BioWare

Page 3: 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

Page 4: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Our pitch for DX11 technologyWe 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

Page 5: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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

Page 6: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

GPU PerfStudio 2 – Shader Debugging on DX10/DX11

Page 7: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Why DirectX 11?

• Reliable backwards compatibility with older hardware

• Customers have the hardware and expect games that use it

Steam hardware survey

Page 8: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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

Page 9: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Dynamic Lighting

Page 10: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Dynamic Lighting

Page 11: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Dynamic Lighting• 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

Page 12: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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

Page 13: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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)

Page 14: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Tessellation on terrainWithout tessellation With tessellation

Page 15: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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)

Page 16: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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

Page 17: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Diffusion Depth of FieldDX9 DOF

Diffusion DOF

Page 18: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Diffusion Depth of Field DX9 DOF

Page 19: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Diffusion Depth of FieldDiffusion DOF

Page 20: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Contact hardening shadows

Page 21: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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

Page 22: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Contact hardening shadowsOld PCF filter

Non uniform contact hardening filter

Page 23: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

References• Light pre-pass

http://www.wolfgang-engel.info/blogs/?p=26

• PN triangle implementation –June 2010 DirectX SDK, PNTriangles11 sample

• Diffusion DOF solverGame Engine Gems 2 (http://www.gameenginegems.net/)

• Contact hardening soft shadows–June 2010 DirectX SDK, ContactHardeningShadows11 sample

Page 24: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

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

Page 25: Dragon Age II DX11 Technology Andreas Papathanasis BioWare.

Q & A

[email protected]

DirectX 11 DirectX 9


Recommended