Gå til innhold

OpenGL, glLoadIdentity() mot glPushMatrix() og glPopMatrix()


Anbefalte innlegg

Har prøvd meg litt fram og tilbake me dei 2 måtane for å teikna objektar. Ettersom eg les i den store raude boka så står det at med glPushMatrix() og glPopMatrix så kan ein flytta på objektar utan å restarte lokasjona om eg har forstått det rett?

 

Sånn eg trur det fungerer så har eg eit eksempel med ein bil som har 4 hjul. Der kan eg alltid plassera dei hjula rett basert på bilens lokasjon. Eg trenger ikkje å kalkulere fart og akselerasjon for kvart hjul når dei følgjer eit objekt.?

 

Er dette rett?

 

Bør desse to måtane brukast kvar for seg i visse situasjoner?

Lenke til kommentar
Videoannonse
Annonse

Push og Pop har med de ulike matrise stackene å gjøre.

 

Det er veldig kjekt i situasjoner som du nevner.

f. eks

glLoadIdentity

//Flytt og roter slik at det passer med bilen

//tegn bilen

glPushMatrix//Puffer den nåværende matrisen ned.

//Flytt og roter slik at det passer med dekk 1

//tegn dekk 1

glPopMatrix//Nå er bruker vi bilmatrisen igjen

glPushMatrix//Puffer den nåværende matrisen ned.

//Flytt og roter slik at det passer med dekk 2

//tegn dekk 2

 

Du skjønner resten.

 

Det er veldig kjekt system og gjør det veldig enkelt å lage scenegrapher ... du kan f. eks. enkelt legge til en en roterende radar på bilen uten at radaren trenger å vite hvor bilen er.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...