DirectX: A Brief Overview Daniel D’Agostino
Example: Far Cry 2
Example: Crysis
Example: Assassin’s Creed
What is DirectX? Direct3D and D3DX DirectInput and XInput Direct2D DirectSetup XACT, XAudio2, X3DAudio, XAPO, XAPOFX Deprecated APIs – DirectSound – DirectPlay – DirectMusic – DirectShow – DirectDraw
What can be done with DirectX? Games Simulation software Terrain editors Media players … and so on
Why DirectX? Direct3D: performance – Win32 GDI is slow – Rendering requirements – Abusing the Windows message loop DirectInput – Background application input retrieval – Support for any device, as well as force feedback – Action mapping
Direct3D Object SpaceWorld SpaceView SpaceScreen Space World MatrixView Matrix Projection Matrix
DirectX Alternatives: OpenGL OpenGL – Graphics only – Platform-independent – C-based – Not as popular as Direct3D Direct3D – Part of DirectX – Microsoft only – COM (C++) –based – More popular in game industry
DirectX Alternatives: XNA DirectX – Professionals – Low-level – C++ or managed.NET language XNA – Hobbyists, students – High-level – C# - slower
Summary DirectX is a set of low-level APIs for high- performance multimedia Mostly used in game development Needed mainly for performance reasons Direct3D allows manipulation of 3D geometry Comparable to OpenGL and XNA
Resources Toymaker by Keith Ditchburn – game industry veteran and lecturer on games programming at Teesside University – DirectX Developer Center – DirectX SDK Documentation: –
Questions Ask away… …or contact me at your leisure using: dandago at gmail dot com