Stap 3: Stroom van controle en matrices
OpenGL is een statusmachine. Wanneer u iets wijzigt, blijft het op die manier totdat u expliciet het opnieuw wijzigt. Hetzelfde geldt met matrices. In openGL, eerst vóór elke matrices, manipuleren we de matrix op dit moment worden gewijzigd, die kan slechts één filter tegelijk instellen.
Stel dat we een eenvoudige kubus in OpenGL gebouwd. (voor nu, ik zal niet het schrijven van de code, maar ik zal het later uitleggen)
START
↓
{---code voor de kubus verplaatsen/roterende---}
{---code voor het maken van de kubus---}
↓
LOTING
Voordat we deze code kunnen uitvoeren moeten we vertellen openGL welke matrix wijzigen van onze huidige scène te laden. Dus we het (OpenGL) de model-view-matrix, geven want zoals ik al eerder zei, het wordt gebruikt definieert u de wijzigingen op onze huidige scène. Als we dat niet, de OpenGL weet niet welke matrix te gebruiken omdat OpenGL immers alles over matrices.
START
↓
{---Het laden van de Matrix (Model View)---}
{---code voor de kubus verplaatsen/roterende---}
{---code voor het maken van de kubus---}
↓
LOTING
Nu kunnen we onze kubus overgaan.
Ook stellen we de projectie matrix.
START
↓
{---Het laden van de Matrix (projectie Matrix)---}
{---code voor de projectie, viewport etc. setup---}
↓
LOTING
______________________________________________________________________________________________
Opmerking:-Technicialy er is geen camera in OpenGL. Dat wil zeggen, everytime u uw positie in de scène, je eigenlijk veranderen de positie van alle objecten in de scène of meer dat specifiek wijzigen we de model weergave matrix van de gehele scène. De viewport of de "camera" blijft altijd op dezelfde positie.
______________________________________________________________________________________________