DirectX: A Brief Overview

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
World Matrix
Object Space
World Space
View Matrix
Projection Matrix
View Space
Screen Space
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 highperformance 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
–

http://www.toymaker.info/
http://msdn.microsoft.com/en-us/directx/default.aspx
DirectX SDK Documentation:
–
http://msdn.microsoft.com/en-us/library/aa139818.aspx
Questions


Ask away…
…or contact me at your leisure using:
dandago at gmail dot com