Nybörjarguide till OpenGL: Bygg din egen CAD-program (3 / 14 steg)
Steg 3: Flödet av kontroll och matriser
OpenGL är en tillståndsdator. När du ändrar något, fortsätter det så tills du uttryckligen ändrar det igen. Samma sak med matriser. I openGL, måste innan manipulera alla matriser, vi först ange matrisen för närvarande på att ändras, vilket bara kan vara en i taget.
Anta att vi byggt en enkel kub i OpenGL. (för nu, jag kommer inte att skriva koden, men jag kommer att förklara det senare)
START
↓
{---kod för att flytta/rotera kuben---}
{---kod för att göra kuben---}
↓
RITA
Innan vi kan köra här koden måste vi tala openGL vilken matris att läsa och ändra våra aktuella scenen. Så vi ge det (OpenGL) modell Visa matrisen eftersom som jag sa innan, det används definiera förändringarna till vår nuvarande scen. Om vi inte gör, vet OpenGL inte vilken matris att använda eftersom OpenGL är ju allt om matriser.
START
↓
{---Ladda matrisen (Model View)---}
{---kod för att flytta/rotera kuben---}
{---kod för att göra kuben---}
↓
RITA
Nu kan vi flytta vår cube.
Vi satt på samma sätt matrisen projektion.
START
↓
{---Ladda matrisen (projektion Matrix)---}
{---kod för projektion, vyport etc. inställningar---}
↓
RITA
______________________________________________________________________________________________
Obs:-Technicialy det är ingen kamera i OpenGL. Det vill säga varje gång du ändra din position i scenen, du faktiskt ändra positionen för alla objekt i scenen eller mer specifikt vi ändra modellen Visa matrisen av hela scenen. Visningsområdet eller "kameran" förblir alltid i samma position.
______________________________________________________________________________________________