The future of PC Gaming: The possibilities of DirectX...

43
April 24, 2006 1 The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI

Transcript of The future of PC Gaming: The possibilities of DirectX...

Page 1: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 1

The future of PC Gaming:The possibilities of DirectX 10Bob Drebin, Fellow, ATIGuennadi Riguer, Senior ISV Engineer, ATI

The future of PC Gaming:The possibilities of DirectX 10Bob Drebin, Fellow, ATIGuennadi Riguer, Senior ISV Engineer, ATI

Page 2: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 2

Games today…

• Look stunning• Feature detailed characters and complex materials• Contain lots of effects

• light bloom, motion blur, HDR lightingOblivion – No HDR Oblivion – HDR + 4x AA

Image courtesy of Bethesda Softworks LLC’s The Elder Scrolls IV: Oblivion

Page 3: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 3

Games today…

• Feel immersive

• Feature convincing environments, vast areas to explore

Tomb Raider: Legend – Next Gen Content Off Tomb Raider: Legend – Next Gen Content On

Image courtesy of Eidos’s Tomb Raider: Legend

Page 4: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 4

Today’s games

• Play to more than just a Good Guy and Bad Guy• Can pick up and interact with particular objects• Can damage or destroy objects like walls or buildings

FEAR – Low Settings FEAR – Max Settings

Image courtesy of Monolith’s FEAR

Page 5: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 5

Today’s games

• Games today are a showcase of the genius of developers at bringing a false reality closer to real life than ever before

• We’ll look at the constraints of today’s GPUs and APIs that game developers are starting to hit

Page 6: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 6

Today’s constraints

• DirectX 9 overhead

Page 7: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 7

Today’s constraints

• DirectX 9 overhead

Page 8: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 8

Today’s constraints

• DirectX 9 overhead

Page 9: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 9

Today’s constraints

• DirectX 9 overhead

Page 10: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 10

Today’s constraints

• DirectX 9 overhead

Page 11: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 11

Today’s constraints

• DirectX 9 overhead

Execution Time

More objects, more changes to those objects = Longer execution time

Page 12: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 12

Today’s constraints

• DirectX 9 overhead

Execution Time

Longer execution time = Lower performance

Also known as the small batch problem

Page 13: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 13

Today’s constraints

•Constraints related to computing resources

•Limited to when you can use the GPU vs. the CPU

•Makes a difference for large data set processing, for example, processing physics

Page 14: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 14

Removing constraints:The Unified Shading Architecture

• Traditional GPUVertex Shader

Pixel Shader

Fully Loaded

Partially LoadedComplex Geometry

Processing

Vertex Shader

Pixel Shader

Fully Loaded

Partially Loaded

Complex PixelProcessing

Page 15: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 15

Removing constraints:The Unified Shading Architecture

• Traditional GPU extended to DirectX 10 pipeline

Vertex Shader

Geometry Shader

Pixel Shader

Page 16: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 16

Removing constraints:The Unified Shading Architecture

Complex Geometryand

Pixel Processing

Vertex, Pixel & Geometry Shader

Unified Shader Architecture

Page 17: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 17

Unified we stand, divided we fall

• The future of PC gaming hardware: the unified shader architecture

• Common Shader engine used to execute vertex, geometry and pixel, maximizing shader performance efficiencies

• First Unified Shading Architecture for the PC

• ATI’s DirectX 10 GPU

• ATI’s second Unified Shading Architecture

Page 18: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 18

Unified we stand, divided we fall

• Why is a unified architecture so important?

• GPU’s role moving from game rendering togame computing

• DirectX 10 was designed with unified shading in mind

• Common specification and feature set for Vertex, Geometry and Pixel Shaders

• Flexible and efficient memory & texture access expected in all shader types

Page 19: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 19

Sample ofaverageframe

Unified we stand, divided we fall

• Upcoming games will be both geometry and pixel compute intensive

• In the same frame… but not at the same time!

Page 20: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 20

Unified we stand, divided we fall

• Upcoming games will be both geometry and pixel compute intensive

• High geometry density with complex morph animations

Image courtesy of Bethesda and SpeedTree

Page 21: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 21

• Significant image post-processing for HDR, depth of field, motion blur

Image courtesy of Valve Software’s Day of Defeat trailer

• Upcoming games will be both geometry and pixel compute intensive

Unified we stand, divided we fall

Page 22: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 22

Unified we stand, divided we fall

• Centralizing compute resources is key as more, varied tasks migrate to the GPU

Physics &other gamecalculations

MorphingVertex

processing

Geometrycreation

Image post-processing

Sorting

Polygonrendering

Page 23: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 23

Unified Shading Today: Xbox360

• Games are being developed today for ATI’s Unified Shading Architecture on XBox360

• Microsoft Xbox360 games being designed to take advantage of the unified architecture’s flexibility

• Hard to go back once you’ve made the switch

• Developers can continue with the advantage of Xbox360 development, and can easily port Xbox360 games to the PC and vice versa

Page 24: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 24

Unified Shading Today: Xbox360

"The Xbox 360 is the most productive graphics development platform I have ever worked on -- clean and powerful hardware that is well documented and easy to exploit, coupled with absolutely first rate development tools.“

- John Carmack, id Software

Page 25: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 25

From tomorrow’s hardware,to tomorrow’s software: DirectX 10

• Based on the good points of past DirectX architectures, DirectX 10 has been written from the ground up

• More ways to process, access, move data

• Geometry processing & streaming

• Rendering to more than just pixels

• Enables compute beyond rendering

• Programming limits significantly raised

• Shader instructions, registers, constants, outputs

Page 26: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 26

DirectX 10 helps remove constraints

• DirectX 10 reduces per-object state changing overhead

• Dynamic indexing state within shader programs

• vs heavyweight state setting outside of shader programs

• State snapshots that can be loaded atomically

• 1 call vs many

Page 27: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 27

Today’s constraints

• DirectX 9 overhead

Execution Time

• DirectX 10 overhead

Page 28: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 28

What does this all mean?

• Current execution time is balanced like this:

40% 60%

Page 29: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 29

• With less overhead, execution time could be balanced like this:

What does this all mean?

• Doesn’t mean you’ll see 80% of execution time dedicated to the game

• It means that developers will be able to put more into their games

• DirectX 10 will result in less overhead

20% 80%

Page 30: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 30

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Objects

Page 31: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 31

Clutter

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Page 32: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 32

Materials

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Page 33: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 33

Vegetation/Foliage

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Page 34: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 34

Shadows

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Page 35: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 35

PhysicsWater, collisions, cloth, hair, particles, etc.

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Page 36: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 36

EffectsLighting, volumetric effects, etc.

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Page 37: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 37

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

Character Animation

Page 38: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 38

What does this all mean?

• DirectX 10 games on a unified shader architecture will have more…

… all scalable

Page 39: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 39

Tomorrow’s games

• Will look…• … even better than today, closer to what our eyes see• … more photorealistic, moving toward CG

Page 40: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 40

• Will feel…• … richer, with detailed worlds where there’s always something

to see• … unique and distinct

Tomorrow’s games

Image courtesy of Piranha Bytes and SpeedTree

Page 41: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 1

• Will play…• … with more opportunity for interaction• … more realistically as a result of physics

Tomorrow’s games

Page 42: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 42

The possibilities…

• These demos show off possibilities of DirectX 10 done on DirectX 9

• These aren’t in-game demos, rather they’re designed to showcase the programming possibilities and possible gaming concepts of tomorrow’s games

Page 43: The future of PC Gaming: The possibilities of DirectX 10downloads.gamedev.net/features/programming/atid3d... · "The Xbox 360 is the most productive graphics development platform

April 24, 2006 43

Summary

• DirectX 10 combined with the unified shader architecture is the future of PC gaming

• Moving beyond game rendering today, to game computing tomorrow

• Removes the development constraints of today’s games

• Enables the next generation of visual effects in games

• Is the only platform that truly maximizes compute resources

• DirectX 10 was designed with a unified shader in mind• Allows different kinds of shaders (vertex, geometry, pixel) to all work on the same

instruction sets and access the same resources

• Xbox360 games are already taking advantage of this model

• No one understands the unified shader architecture better than ATI

• ATI’s unified shader for DirectX 10 represents the first unified shader ever for the PC, and the second generation of our unified shader technology

• Tomorrow’s games will have enhanced:• Objects, clutter, materials, vegetation and foliage, shadows, effects (lighting,

volumetric effects), physics (water, collision, cloth, particles, etc.), character animation