Hva er et OpenGL® -kamera?
"OpenGL® Camera" er navnet som er gitt til den virtuelle posisjonen til en seer i en Open Graphics Library® (OpenGL®) scene. Det er definert av betrakterens plassering i scenen, og deretter plasseringen eller retningen seeren ser på. Kameraets plassering i en OpenGL® -scene vil avgjøre hvilken del av en scene som vil bli gjengitt til displayenheten og i hvilken vinkel. To matriser brukes til å beskrive et OpenGL® -kamera: ModelView Matrix og projeksjonsmatrisen, som beskriver kameraets posisjon og måten objektene den ser ut på er henholdsvis. Et kamera kan flyttes i en scene for å vise forskjellige områder, eller for å simulere bevegelse, selv om det i mange tilfeller er enklere eller mer effektivt å flytte objektene i en scene i stedet for kameraet.
Når du lærer OpenGL®, har noen programmerere en vanskelig tid med å forstå de relativt abstrakte egenskapene til et OpenGL® -kamera. Dette er stort sett BECAus noen transformasjoner og andre funksjoner fungerer ikke på samme måte på et kamera som de ville gjort på et standard OpenGL® -objekt. I tillegg krever komplekse operasjoner med et OpenGL® -kamera vanligvis ferdigheter med Matrix Math og en forståelse av OpenGL® -transformasjonsrørledningen. Det er noen bekvemmelighetsfunksjoner i å støtte OpenGL® -biblioteker, selv om det kan være vanskelig å stole utelukkende på støtteverktøyettene i mer interaktive applikasjoner.
Posisjonen til et OpenGL® -kamera er definert ved hjelp av ModelView Matrix. Kameraet kan plasseres hvor som helst i en scene og oversatt eller roteres langs en hvilken som helst akse. I mange applikasjoner, spesielt applikasjoner som bare inneholder en håndfull objekter, kan det være lettere å anvende inverse transformasjoner på objektene i en scene for å gi utseendet til bevegelse. I hovedsak beveger hele scenen seg rundt en statIC -kamera i dette tilfellet. For større scener kan det være lettere å takle kompleksitetene i rørledningen og matrisematematikken for å flytte kameraet fritt, og etterlater scenen statisk.
Attributtene til et OpenGL® -kamera styres av projeksjonsmatrisen. For å bruke kameraanalogien, kan projeksjonsmatrisen tenkes som typen objektiv som brukes. Projeksjonsmatrisen blir ofte modifisert for å lage ortografiske fremspring, som ikke har noen perspektivjustering, og perspektivfremskrivninger som redegjør for avstand ved å bestemme størrelsen på objekter. Andre effekter, for eksempel en fiske-øye-objektiv, brennvidde eller forskjellige sideforhold, kan alle settes ved bruk av projeksjonsmatrisen.