GSP Labo 02 Mesh and World Matrix Operaties
Doelstelling Kennismaking met enkele nieuwe klassen uit het framework. Leren orienteren in de virtuele 3D ruimte Begrijpen wat de WorldMatrix is. Belang van de volgorde van WorldMatrix operaties inzien. Leren werken met de ID3DXMesh interface.
8.5 D3DX Geometric Objects D3DXCreateBox D3DXCreateSphere D3DXCreateCylinder D3DXCreateTorus D3DXCreateTeapot D3DXCreatePolygon ID3DXMesh
14 Meshes (pag 351) ID3DXMesh interface ID3DXBaseMesh ID3DXMeshID3DXSPMeshID3DXPMesh
Uitbreiding Framework D3DObject: – Is basisklasse voor alle 3D-voorwerpen die moeten worden gerenderd. – Een World matrix geeft elk voorwerp een: Positie ->SetPosition(…) Rotatie -> SetRotation(…) Scale -> SetScale(…) – Enkele methods: Tick(…), Draw(…) Init(…), CleanUp(…) OnResetDevice(), OnLostDevice()
Uitbreiding Framework D3DObjectNode: – Heeft D3DObject als basisklasse. – Extra’s: Boomstructuur met parent en children Zie volgende week
Uitbreiding Framework MeshShape: – Heeft D3DObjectNode als basisklasse. – Maakt een ID3DXMesh object aan: Is verzameling van vertices Box, Sphere, Teapot, Cylinder, Torus – Geeft de Mesh een Material (kleur) SetMaterialColor(r,g,b,a); – De Draw method, tekent de mesh op het scherm
Voorstelling: D3DObject D3DObjectNode MeshShape
Opdracht Op dokeos kun je de World-Mesh Solution downloaden.(f=fullscreen,esc=windowed, w=wireframe) Zie demo docent World-Mesh.rar bevat een exe file. Maak een gelijkaardig project met roterende MeshShapes, bouw verder op de voorbeeldsolution. – Zie afbeelding volgende slide en exe file – Aanrader: Begin met de gele roterende Cilinder, daarna de blauwe BOX en SPHERE. Dan de theepot met groene schijf. Tenslotte de twee blauwe ringen en assenstelsel.