De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Open Dag Informatica (28 nov 2003) 3D Graphics Workshop Dr. Erwin M. Bakker Ing. Ernst Lindoorn Leiden Institute of Advanced Computer Science Leiden University.

Verwante presentaties


Presentatie over: "Open Dag Informatica (28 nov 2003) 3D Graphics Workshop Dr. Erwin M. Bakker Ing. Ernst Lindoorn Leiden Institute of Advanced Computer Science Leiden University."— Transcript van de presentatie:

1 Open Dag Informatica (28 nov 2003) 3D Graphics Workshop Dr. Erwin M. Bakker Ing. Ernst Lindoorn Leiden Institute of Advanced Computer Science Leiden University E-mail: erwin@liacs.nl

2 Gaming Modelering Architectuur, Design Wetenschappelijke Visualisatie Animaties, Films Medische Visualisatie etc. 3D Graphics Toepassingen

3 3D Graphics: Hoe doen we dat? OpenGL Punten, lijnen, en vlakken in 3D Objecten uit kippengaas Geef vlakken een kleur Plaats lichten Plaats een camera Bereken wat de camera ziet (rendering)

4 Het Probleem Wat missen we in dit plaatje?

5 Textures n Voor een realistische plaatje hebben we op zijn minst textures nodig!

6 3D Graphics Workshop (A) Een Open GL programma Compileren en executeren (1)Log in op de machine met de gegeven gebruikersnaam en password. (2)Maak op schijf D: van de computer een eigen directory MijnDirectory (bedenk zelf een naam). Ga naar de webpagina www.liacs.nl/~erwin/OpenDag2003 en klik op de link Workshop Code. Sla de file 3DWorkshop.zip op in de zojuist gemaakte directory D:\MijnDirectory.www.liacs.nl/~erwin/OpenDag2003 (3)Blader (browse) naar de directory D:\MijnDirectory en right-click de file 3DWorkshop.zip. Selecteer Extract here. De file wordt nu in je directory uitgepakt. (4)Blader naar de directory. Daar zie je een file Texture.dsw. Dubbel-klik deze file met je linkermuisknop. Dit opent de Microsoft Visual C++ omgeving waarin we programma’s kunnen schrijven, compileren, en executeren. Selecteer in de dialog-box eventueel Texture.dsp en left-click. (5)Selecteer het menu-item. Het C++ programma wordt nu gecompileerd en er wordt een executable gebouwd. (6)Als het goed is zullen er tijdens het compileren geen fouten optreden en ben je nu klaar om het programma te draaien (executeren). Selecteer hiervoor (je kan ook CTRL gebruiken). Het programma zal nu starten. (7)Je ziet nu enkele kubussen met textures. Door op te drukken kan je de texture aan of uit zetten. Door op te drukken kan je de texture mode variëren : GL_MODULATE, GL_DECAL, and GL_BLEND. Met de kan je navigeren.

7 3D Graphics Workshop (B) Een Open GL programma veranderen, compileren en executeren (1)Stop het programma door de twee windows van het programma te sluiten. NB Sluit niet MS Visual C++, want we gaan nu het programma veranderen. (2)Zoek in mycube.cpp naar de functie void drawfloor() en verwijder && false in de test if (is_texture && false). (&& false stond er enkel om te voorkomen dat op de vloer een texture zou worden getekend. Compileer en draai het programma nu opnieuw. (3)Er zijn ook nog andere textures beschikbaar dan enkel texture.rgb. Probeer een van de andere textures: brick.rgb, coke.rgb, wood.rgb, eliteforce.rgb, concrete.rgb, etc. Aanwijzing: de textures worden ingelezen via de statements get_texture("texture.rgb", &texture_id_floor); etc. NB Je kan ook zoeken in de file mycube.cpp op het keyword 3dworkshop. Je komt dan vanzelf bij de plaatsen in de code die we tijdens de workshop willen veranderen.

8 3D Graphics Workshop (C) Een 3D ‘Stad’ (1)Stop het programma (2)Voeg gebouwen toe door de volgende functie te gebruiken: drawbuilding(int x_offset, int z_offset, int color, int height, int width, int depth). (x_offset,z_offset) geeft de plaatsing van het gebouw ten opzichte van het midden van het vlak. De overige parameters spreken voor zich. In mycube.cpp zie je al enige voorbeelden van de aanroep drawbuilding(…) in het commentaar staan. Haal de comment tekens ‘//’ weg om de statements te activeren. (3)Compileer en executeer het programma. (4)Voeg reclameborden toe. Gebruik hiervoor de functie void drawbillboard(int x_offset, int z_offset, int color, int height, int width, int mode). (x_offset,z_offset) zijn als hiervoor beschreven. Er zijn 3 verschillende animatiemodes (mode = 1, 2, of 3 respectievelijk). Ook van de aanroep drawbillboard(…) kan je weer enige voorbeelden in het commentaar terugvinden. (5)Compileer en executeer het programma. Probeer ook de juiste textures te gebruiken.

9 Workshop (D) ‘Newave’ (1)Sluit Visual C++ en blader nu naar de directory newave (2)Dubbelklik de file newave.dsw. Hiermee start je opnieuw MS Visual C++ maar nu met het programma newave. (3)Compileer en executeer het programma. (4)Door met je rechtermuisknop op het window met het 3D model te klikken, open je een menu met verschillende opties. Probeer:. Dit toont de kale geometrie van het 3D object zonder enige vorm van shading of texture mapping. (5)Selecteer. Dit toont de normaalvectoren op de driehoekjes waaruit het object is opgebouwd. Deze normaalvectoren worden gebruikt voor het berekenen van de juiste weerkaatsing van het licht. Selecteer om te zien hoe dit werkt. (6)Probeer de andere opties uit het menu. Selecteer als laatste de optie. (7)Verander tenslotte het programma zo dat een van de textures uit het vorige programma te zien is op het 3D model.


Download ppt "Open Dag Informatica (28 nov 2003) 3D Graphics Workshop Dr. Erwin M. Bakker Ing. Ernst Lindoorn Leiden Institute of Advanced Computer Science Leiden University."

Verwante presentaties


Ads door Google