Hoe werkt een 3D grafische kaart - Deel 2

Inhoudsopgave
  1. 1. De pixel rendering engine
  2. 2. Shading
  3. 3. Texture Mapping
  4. 4. Texture Filtering
  5. 5. Atmosferische Effecten
  6. 6. Z-Bufering
  7. 7. Verdere 3D Effecten
  8. 8. Verdere 3D Effecten (vervolg)
  9. 9. De AGP Interface
  10. 10. De Software Aansturing

De Software Aansturing

We sluiten dit artikel af met een korte blik op de software aansturing van een 3D videokaart. Aangezien iedere 3D chip anders aangestuurd dient te worden, zou het voor programmeurs van 3D spellen vrijwel onmogelijk zijn om ondersteuning te hebben voor alle 3D videokaarten, als er niet nog een extra stukje programmatuur tussen het spel en de 3D chip zou zitten. Dit stukje programmatuur dat ervoor zorgt dat de 3D software met vele verschillende 3D videokaarten werkt, is de zogenaamde 3D API.

Een API (advanced programming interface) is een verzameling van routines die gebruikt kunnen worden voor een bepaald doel: in ons geval het renderen van 3D werelden. Een belangrijk deel van de 3D API is de zogenaamde HAL (hardware abstraction layer): een soort tussenslag tussen software en hardware. De diverse 3D API's worden gebruikt om de volgende redenen: een programmeur van een 3D-spel hoeft zich d.m.v. een API niet meer druk te maken over welke hardware er in een systeem zit. Hij schrijft zijn hele programma met aansturingen aan de API (dus geen rechtstreekse hardware-aansturingen). De API zet deze aanroepen door middel van de HAL en de videokaart-drivers om in instructies voor de verschillende videokaarten. Indien er voor alle videokaarten drivers zijn voor een bepaalde API, dan hoeven programmeurs hun programmatuur alleen nog maar compatible te maken aan die bepaalde API.

Voor 3D software zijn er drie veel gebruikte API's:

Direct3D

Direct3D is de meest gebruikte 3D API en zit, samen met andere API's, in de Microsoft DirectX uitbreiding. DirectX is beschikbaar voor zowel Windows 9x als Windows 2000, zodat DirectX programmatuur meteen onder alle Windows versies werkt. Direct3D is voornamelijk voor spellen gemaakt en wordt door vrijwel alle videokaarten ondersteund. De meeste spellen ondersteunen ook standaard Direct3D en eventueel nog andere API's. 

OpenGL

OpenGL is oorspronkelijk gecreëerd door Silicon Graphics. OpenGL biedt zeer veel functionaliteit voor professionele 3D software en is niet platformafhankelijk. We komen de API dus niet alleen tegen bij professionele pakketten als 3D Studio Max, maar ook bij software die op veel verschillende computers moet werken. Een versie met wat minder mogelijkheden is MiniGL. Deze kan o.a. ook worden gebruikt voor computerspellen. De Quake-serie zijn wel de meest gekende MiniGL-spellen. Sommige videokaarten ondersteunen volledig OpenGL (bijv. de nVidia Riva TNT2), terwijl sommige alleen de MiniGL instructies kunnen verwerken (bijv. Voodoo3). Een driver voor volledig OpenGL wordt ICD (Installable Client Driver) genaamd, terwijl een driver voor MiniGL MCD (Mini Client Driver) wordt genoemd.

Glide

Glide is de eigen 3D API van 3dfx, de makers van de Voodoo videokaarten. Glide is ontstaan in het Voodoo 1 tijdperk, toen 3dfx eigenlijk nog als enige betaalbare 3D kaarten had op de computermarkt. Door het grote succes van Direct3D, wat ook met videokaarten van alle andere fabrikanten werkt, wordt Glide de laatste tijd steeds minder gebruikt. Als er nog spellen zijn die echt Glide ondersteunen, is dat voornamelijk als toevoeging op Direct3D en/of OpenGL.

Advertentie
0