De zes stappen van het 3D rendering proces
Het gehele proces om beelden van 3D spellen als Quake op het scherm te krijgen is ruwweg op te delen in zes belangrijke stappen: Applicatie specifieke berekeningen, Scène berekeningen, Transformation, Lightning, Triangle Setup en Pixel Rendering. Elk van deze 6 stappen zullen we kort wat nader bekijken:
1. Applicatie specifieke berekeningen
Zoals de naam al aangeeft, gebeuren in deze stap zaken die voor ieder spel verschillend zijn. Zo zal bij een spel als Quake in deze stap berekend worden waar de verschillende objecten (spelers, monsters, muren, gadgets, maar ook de "camera") zich in de 3D wereld van Quake bevinden. Dit alles wordt natuurlijk berekend als gevolg van de interactie met de speler. Zodra alle applicatie specifieke zaken berekend zijn wordt alle informatie van de verschillende 3D objecten doorgegeven aan stap 2.
2. Scène berekeningen
De tweede stap is in principe ook nog erg applicatie afhankelijk. De 3D engine van het betreffende spel zal hier kijken welke objecten zichtbaar zijn vanuit het huidige camera standpunt en welke niet. Logisch: als in Quake een monster zich in een kamer verderop bevindt, is het onnodig dat hier verder aan gerekend gaat worden. Verder wordt geanalyseerd welk detail nodig is voor de verschillende objecten. Het 3D spel zal uiteindelijk een lijst van driehoeken maken die verder verwerkt moet worden. Vanaf stap drie begint dan het "echte" rendering proces.
3. Transformation
In stap twee heeft het 3D spel een complete lijst van driehoeken opgebouwd met alle benodigde informatie: waar bevinden de driehoeken zich, welke texture moet erop worden geplaatst, welke verder effecten zijn vereist, etc. De plaats van de verschillende driehoeken geeft een spel op in een eigen coördinatenstelsel. De posities van objecten die we op een bepaald frame (één afbeelding binnen een 3D animatie) willen zien moeten vanuit dit spel coördinatenstelsel (de Quake 3D wereld bijvoorbeeld) omgerekend worden naar een nieuw coördinatenstelsel, loodrecht op het camerastandpunt. Je krijgt dan de precieze positie van alle objecten ten opzichte van de kijker. Deze omrekening van coördinatenstelsels gebeurt in deze derde stap.
Om dit alles te verduidelijken zien we in onderstaande figuur een object geplaatst in een coördinatenstelsel (x, y, z) van een 3D game.

Dit coördinatenstelsel noemen we het "World Coordinate Space". We zien ook waar op dit moment het beeldscherm en het oog van toeschouwer zich in de 3D ruimte bevinden. Er moet nu dus berekend worden hoe alle objecten gezien worden vanuit het beeldscherm. De "World Coordinate Space" (x, y, z) wordt nu omgerekend naar de "Screen Coordinate Space" (x', y', z'). Dit is duidelijk te zien in onderstaande figuur. Het beeldscherm is hier recht en we zien precies hoe de "World Coordinate Space" en de objecten daarin zich bevinden t.o.v. het beeldscherm.

Personen met enig inzicht in Lineaire Algebra weten dat het omrekenen van coördinaten stelsels op niets anders neerkomt dan het uitvoeren van een matrix vermenigvuldiging. Onderstaande formule toont deze wiskundige berekening.

I.p.v. alleen een x, y en z is er in de praktijk ook nog een w nodig. Deze w is de zogenaamde schaling-factor voor de perspectief correctie. Om de (x, y, z, w) vector nu om te rekenen naar de nieuwe (x', y', z', w') vector is een bepaalde transformatiematrix benodigd. Deze transformatiematrix is natuurlijk voor alle berekeningen binnen één 3D scène (binnen één frame dus) hetzelfde.
Duidelijk is dat voor het omrekenen van 1 punt maar liefst 16 vermenigvuldigingen en 12 optellingen nodig zijn. Voor iedere driehoek (triangle) binnen de 3D scène zijn er weer 3 omzettingen nodig (voor de drie hoekpunten). Al met al vergt deze transformatie fase dus heel wat rekenwerk.