De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

GSP1 2008-2009 Labo 01 Direct3D Foundations. Vooraf • Software: – Visual studio 2005 of/en 2008 met MSDN – DirectX SDK aug 2008 release (verschillende.

Verwante presentaties


Presentatie over: "GSP1 2008-2009 Labo 01 Direct3D Foundations. Vooraf • Software: – Visual studio 2005 of/en 2008 met MSDN – DirectX SDK aug 2008 release (verschillende."— Transcript van de presentatie:

1 GSP Labo 01 Direct3D Foundations

2 Vooraf • Software: – Visual studio 2005 of/en 2008 met MSDN – DirectX SDK aug 2008 release (verschillende tegelijk mogelijk) – Nvidia PhysX systemsoftware en sdk – Boek

3 Vooraf: DirectX SDK • Controleer deze settings:

4 Vooraf: DirectX SDK • Controleer deze settings:

5 Vooraf: DirectX SDK • Controleer deze settings:

6 Vooraf: DirectX SDK

7 Vooraf: DirectX SDK : Control Panel Steeds in Debug mode werken: • Directx memory leak detection • Optimisation info Let op! Bij gebruik 3DSMax Retail version kiezen!!!

8 Vooraf: DirectX mappen • C:\Program Files\Microsoft DirectX SDK (August 2008): – Lib: Bibliotheken van klasses en functies – Include: Alle dx header files – Samples: vele voorbeelden met code – Documentation: Uitleg over de API – Utilities: allerlei tools

9 4.1 Overview blz 66 Graphics Device – Nvidia of ATI of Matrox of … HAL Hardware Abstraction Layer verzameling van drivers Direct3D OpenGL Application DirectX is verameling van Direct3D, DirectSound, DirectInput, Xinput,… Demo Caps Viewer

10 4.1.1 Overview blz 67 • Drie soorten devices: – HAL of Hardware device: wordt meestal gebruikt – SW device: • voor next gen developers (er is bv nog geen hardware die de SDK ondersteunt) • niet aanwezig in DirectX SDK – REF(erence) device: software emulation • Zeer traag (1FPS) • Vb: Driver debugging, dx10 testen op DX9 machine…

11 4.1.2 COM • Common Object Model: – Microsoft technologie – Programmeertaal onafhankelijk – Backwards compatibility – Com Object in c++ is een Interface (soort klasse) – Eigen geheugenbeheer – GEEN new() maar via functies krijgen we pointers – GEEN delete() maar Release()

12 4.2 Vooraf, enkele concepten • Surfaces – Matrix of pixels to store 2D image data – Is eigenlijk lineaire array – Pitch – Width – Height – Origin is top left – Interface: • IDirect3DSurface9

13 4.2.2 Swap Chain and Page Flipping • Swap Chain: – IDirect3DSwapChain9 – Verzameling van surfaces – Gebruikt Page Flipping: • Surface1 is backbuffer: er wordt op getekend • Surface2 is frontbuffer: is zichtbaar (presented) • Tekenen is klaar: page flipping of swapping gebeurt nu: • Surface1 is nu frontbuffer en zichtbaar • Surface2 is nu backbuffer, wordt gewist, en op getekend

14 4.2.3 Pixel Formats • Als een surface wordt gemaakt moeten we het pixel format weten: – Hoeveel bits voor rood, groen, blauw en alpha – Enkele voorbeelden: – D3DFMT_R5G6B5: 16 bits of 2 bytes per pixel • Slechts 5 bits voor rood: 32 rood tinten (banding) • Voordeel: weinig geheugen nodig – D3DFMT_X8R8G8B8: 32 bits of 4 bytes per pixel • 256 tinten voor elk kleur • Wordt steeds gebruikt

15 4.2.4 Display Adapters • Een display adapter is een fysische grafische kaart. • Meer dan 1 is mogelijk (dual head, twee kaarten) • IDirect3D9 interface enumerates alle adapters: – Aantal adapters – DisplayModes van elke adapter

16 4.2.5 Depth Buffer • Is surface dat diepte informatie bevat • Range: van 0.0 (vooraan) tot 1.0(verst) • Uitleg….

17 4.2.6 Multisampling • Multisampling vermijdt hoekige resultaten • Verlaagt de framerate • D3DMULTISAMPLE_TYPE: – D3DMULTISAMPLE_NONE – D3DMULTISAMPLE_2_SAMPLES – … • Niet elke hardware ondersteunt elke multisampling mode !

18 4.2.7 Memory Pools • Niet toegankelijk voor GPU: – System Memory (RAM) • Wel Toegankelijk voor GPU: – VRAM (video memory): toegankelijk voor GPU – AGP (agp memory) • Memory Pools: – D3DPOOL_MANAGED: • De data bevindt zich zowel in RAM als in VRAM • In RAM kan de cpu data wijzigen. • Als nodig is, kan Direct3D RAM kopiëren naar VRAM • Bij device reset moet deze data niet vrijgegeven en opnieuw ingeladen worden. – D3DPOOL_DEFAULT: • De data bevindt zich in VRAM of AGP geheugen • Bij device reset moet deze data eerst worden vrijgegeven, en daarna opnieuw worden ingeladen. – D3DPOOL_SYSTEMMEM: • De data bevindt zich in RAM geheugen en is dus niet toegankelijk voor de GPU. • Meestal gebruikt als er nog bewerkingen met de data moeten gebeuren vooraleer naar VRAM wordt gekopieerd.

19 4.2.8 Vertex Processing and Pure Devices • Software vertex processing • Hardware vertex processing

20 4.2.9 Device Capabilities • Voor elk DirectX feature kan worden gecheckt of de hardware het ondersteunt.

21 4.3 Initialiseren van Direct3D Stappen: • Verkrijg een pointer naar een IDirect3D9 interface: – Info over hardware – Verkrijgen van een pointer naar IDirect3DDevice9 • Check hardware ondersteuning voor display mode- en backbuffer formaat. • Check hardware vertex processing support • Initialiseer een D3DPRESENT_PARAMETERS struct • Creëer een IDirect3DDevice9 object.

22 4.3 Toepassing • Zie demo project met bijhorende uitleg. • Schrijf de uitleg als commentaar tussen de code!


Download ppt "GSP1 2008-2009 Labo 01 Direct3D Foundations. Vooraf • Software: – Visual studio 2005 of/en 2008 met MSDN – DirectX SDK aug 2008 release (verschillende."

Verwante presentaties


Ads door Google