Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 DirectX CIS 487/587 Bruce R. Maxim UM-Dearborn.

Similar presentations


Presentation on theme: "1 DirectX CIS 487/587 Bruce R. Maxim UM-Dearborn."— Presentation transcript:

1 1 DirectX CIS 487/587 Bruce R. Maxim UM-Dearborn

2 2 DirectX and Win32 Win32 Application –GDI Windows Device Driver Interface –DirectX DirectX Graphics (DirectDraw/Direct3D) DirectX Audio (DirectSound/DirectSound3D/DirectMusic) DirectInput DirectPlay DirectSetup DirectShow

3 3 DirectX Contains a run-time library consisting of several.dll’s that you may distribute with your application There are several.lib and.h files that make-up the development library You need to be sure that you know where these files are housed DirectX is backward compatible

4 4 COM COM allows DirectX to work with multiple programming languages COM objects can be shipped with an application as.dll’s COM object provide interfaces to hardware objects COM objects are loaded dynamically You can add functionality to an installed application simply by updating the COM object

5 5 DCOM An advanced version of COM Allows applications to access DCOM objects on networked machines

6 6 DirectX Architecture Win32 App Win GDI Win DDI HW Audio, Video, Input, Storage, … DirectX HEL: HW Emulation Layer HAL: HW Abstraction Layer

7 7 HAL and HEL HAL –Lowest level of software –Consists of manufacturer’s device drivers –DirectX figures out the COM interface needed HEL –Built on top of HAL –Allows emulation of missing hardware (e.g. program still runs whether 3D graphics accelerator card is present or not)

8 8 COM Interfaces The process of creating a COM interface is described in the text You do not need to create your own COM interfaces if you use DirectX DirectX provides wrappers round the COM stuff

9 9 Creating COM Interfaces You begin by deriving an interface class from IUnknown (COM base class) Every derived class inherits 3 methods –QueryInterface( ) – used to request pointer to interface –AddRef( ) – used to increase reference count for COM object –Release( ) – decrements COM object reference counter

10 10 Creating COM Interfaces Basic technique is to create pointers to each device specific function and equate them to a generic function pointer DirectX will then be able to use the correct COM object when its function is referenced


Download ppt "1 DirectX CIS 487/587 Bruce R. Maxim UM-Dearborn."

Similar presentations


Ads by Google