Hva er et OpenGL®-kamera?

"OpenGL®-kamera" er navnet som er gitt til den virtuelle posisjonen til en seer i en Open Graphics Library® (OpenGL®) scene. Det defineres av betrakterens plassering i scenen, og deretter plasseringen eller retningen som betrakteren ser seg inn i. Kameraets plassering i en OpenGL®-scene vil avgjøre hvilken del av en scene som skal gjengis til skjermenheten og i hvilken vinkel. To matriser brukes for å beskrive et OpenGL®-kamera: modelview-matrisen og projeksjonsmatrisen, som beskriver kameraets posisjon og hvordan gjenstandene det ser ut til blir gjengitt. Et kamera kan flyttes innenfor en scene for å vise forskjellige områder, eller for å simulere bevegelse, selv om det i mange tilfeller er enklere eller mer effektivt å bevege objektene i en scene i stedet for kameraet.

Når du lærer OpenGL®, har noen programmerere vanskelig for å forstå de relativt abstrakte egenskapene til et OpenGL®-kamera. Dette er i stor grad fordi noen transformasjoner og andre funksjoner ikke fungerer 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 matematikk og 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øysettene i mer interaktive applikasjoner.

Posisjonen til et OpenGL®-kamera defineres ved bruk av modelview-matrisen. Kameraet kan plasseres hvor som helst i en scene og oversettes eller roteres langs hvilken som helst akse. I mange applikasjoner, spesielt applikasjoner som bare inneholder en håndfull objekter, kan det være lettere å anvende omvendte transformasjoner på objektene i en scene for å gi utseendet til bevegelse. I hovedsak beveger hele scenen seg rundt et statisk kamera i dette tilfellet. For større scener kan det være lettere å takle kompleksitetene i rørledningen og matematikk for å bevege kameraet fritt, slik at scenen blir statiske.

Attributtene til et OpenGL®-kamera styres av projeksjonsmatrisen. For å bruke kameraanalogien, kan projeksjonsmatrisen bli sett på som den typen objektiv som brukes. Projeksjonsmatrisen blir ofte modifisert for å lage ortografiske projeksjoner, som ikke har noen perspektivjustering, og perspektivfremspring som gjør rede for avstand når det gjelder å bestemme størrelsen på objekter. Andre effekter, som fiskeøyelinse, brennvidde eller forskjellige aspektforhold, kan alle stilles ved bruk av projeksjonsmatrisen.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?