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

Slides:



Advertisements
Verwante presentaties
De Video Kaart.
Advertisements

PROS2 Les 13 Programmeren en Software Engineering 2.
Objectgeoriënteerd Programmeren in C++
Unleash your productivity with Startup TOOLS today •Configuratie voor de PTC product ontwikkeling omgeving, •Applicaties voor een gecentraliseerd, grafisch.
Embedded systemen Embedded software.
GSP Labo 02 Mesh and World Matrix Operaties.
Blok 7: netwerken Les 7 Christian Bokhove.
Informatica klas 4 Hoofdstuk 1
Bepalen van een productstrategie ten aanzien van 64-bits computing ISV Community Day Schiphol-Rijk, Andreas de Ruiter Developer & Platform Group.
>>0 >>1 >> 2 >> 3 >> 4 >> Adobe Premiere CS4 – Edius 5.5 – Adobe Elements 7.
Informatieverwerkende systemen
Componenten voor een werkende computer
PCI-EXPRESS.
Arduino project.
1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
Labo 03 Tree: Parent Child Mesh
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
Steven Van Acker. Transmeta Crusoe - Steven Van Acker - Mei Overzicht  Inleiding  Het Idee  De Technologie  CodeMorphing  LongRun  NorthBridge.
C programma int main(){ } Compilatie met devc++ in file main.c Gecompileerd programma in file FirstProgram.exe Mov R1, 120 Mov R2, 160 ADD R1, R2.
De computer: Hardware Het beeldscherm Het toetsenbord De muis
1 Toegepaste Informatica Keuzevak C++ 3°jaar. 2 Studiefiche  Software  Boek (hfst 3-5)  Presentatie (website)
Visual Basic .NET voor studenten
SIP File Recovery Tool. Agenda 18/10/2006Maken agenda + onderzoeken van verschillende filetypes 25/10/2006Uitzoeken hoe er effecient gelezen en geschreven.
JGraph JAxis (tekent JPlot.horizontalAxis) JAxis JPlot (zie volgende slide) JPlotScrollBar (tekent JPlot.verticalAxis) Title panel.
Subversion Version control
De Ultieme PC STAP I: waar vind je de onderdelen NIET online winkel Goeie technical support Grote keuze MYCOM (
Backup & Recovery Windows 2003 Server Onderhoud en Beheer Netwerken 4.
La nouvelle espérance - geïntegreerd project 2008 Belangrijke aspecten bij de keuze van een CMS systeem 2. Inleiding project CMS functionaliteiten Support.
GSP Labo 02 Mesh and World Matrix Operaties.
Delft3D GIS integratie Jan Mooiman 18 mei SIMONA gebruikersdag2 Inhoud Waarom GIS? Gebruikerseisen Ontwikkelingen Demo.
Open Dag Informatica (28 nov 2003) 3D Graphics Workshop Dr. Erwin M. Bakker Ing. Ernst Lindoorn Leiden Institute of Advanced Computer Science Leiden University.
Visual Basic.Net - Overzicht
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
Technische universiteit eindhoven 1 1 OO2-project: Beeldbewerking G. de Haan EH9.27.
Een presentatie door Marthijn Loermans, Antonio Deda en Axel Martens

M A K E Y O U R N E T W O R K S M A R T E R July, Middag programma.
Inhoud  Soorten  Werking  Aansluitingen  Fabrikanten.
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Visual Basic 2010 – What’s new André Obelink
Seminarie programmeren Het geheugen. Menu Memory 1.About 2.Mem Mgmt/del 3.Clear entries 4.clrAllLists 5.Archive 6.Unarchive 7.Reset 8.group →Sec mem.
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
BIOS en Opstarten.
Trogdor The burninator Ruben Middel Raymond Siudak.
1 Introductie next MCT - Programmeren 2 © S. Walcarius Waarom java? programma machinetaal (.exe) compilen platformspecifiek Een exe programma.
© imec 2000 © imec 2001 MAX+PLUS II Installatieprocedure.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Netwerken.
Facet offline installatie
 2 Fases ◦ Data van CPU overbrengen naar GPU  Mesh data, Render State, Blend State... ◦ GPU rendert scene  Programeerbare shaders verwerken input 
Cascokaart Noordoost Twente Waarom deze extra controle op de inventarisatie ?
Het HiSPARC project Het HiSPARC project meet kosmische straling en is een samenwerkingsproject van een groot aantal scholen en diverse Universiteiten.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
Embedded systemen Programmeren op de Arduino Les 7 kleuren festijn.
C++ Les 1: introductie. Programmeren Programma’s scripts Websites libraries (Sound, GUI, netwerking…)
Emulatie vs virtualisatie Docent: Schooljaar:. Emulatie vs virtualisatie Simulatie.
Welkom bij de presentatie van de Cube of Life, gemaakt door Team Z.
Huiswerkcontrole tabel 3
3 Hardware 3.1 De processor en intern geheugen
Lectora als ontwikkeltool voor interactieve multimedia programma’s
Informatieverwerkende systemen
Grafische weergeven van metingen
Software Development fundamentals
– Software development fundamentals
Software Development fundamentals
Transcript van de presentatie:

GSP Labo 01 Direct3D Foundations

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

Vooraf: DirectX SDK • Controleer deze settings:

Vooraf: DirectX SDK • Controleer deze settings:

Vooraf: DirectX SDK • Controleer deze settings:

Vooraf: DirectX SDK

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

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

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

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…

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()

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

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

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

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

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

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 !

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.

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

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

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.

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