Hvad er et OpenGL® -kamera?
"OpenGL® -kamera" er navnet, der er givet til den virtuelle placering af en seer inden for et Open Graphics Library® (OpenGL®) scene. Det er defineret af seerens position inden for scenen og derefter den placering eller retning, som seeren ser på. Kameraets placering i en OpenGL® -scene vil bestemme, hvilken del af en scene der vil blive gengivet til skærmenheden og i hvilken vinkel. To matrixer bruges til at beskrive et OpenGL® -kamera: ModelView -matrixen og projektionsmatrixen, der beskriver kameraets position og den måde, de objekter, det ser ud til, gengives henholdsvis. Et kamera kan flyttes inden for en scene for at vise forskellige områder eller at simulere bevægelse, skønt det i mange tilfælde er lettere eller mere effektivt at flytte objekterne i en scene i stedet for kameraet.
Når du lærer OpenGL®, har nogle programmerere en vanskelig tid med at forstå de relativt abstrakte egenskaber af et OpenGL® -kamera. Dette er stort set becAuse nogle transformationer og andre funktioner fungerer ikke på samme måde på et kamera, som de ville på et standard OpenGL® -objekt. Derudover kræver komplekse operationer med et OpenGL® -kamera normalt færdigheder med matrixmatematik og en forståelse af OpenGL® Transformation Pipeline. Der er nogle bekvemmelighedsfunktioner til at understøtte OpenGL® -biblioteker, selvom det kan være vanskeligt at stole udelukkende på supportværktøjssætene i mere interaktive applikationer.
Placeringen af et OpenGL® -kamera defineres ved hjælp af ModelView -matrixen. Kameraet kan placeres hvor som helst i en scene og oversættes eller drejes langs enhver akse. I mange applikationer, især applikationer, der kun indeholder en håndfuld objekter, kan det være lettere at anvende omvendte transformationer til objekterne i en scene for at give bevægelsen af bevægelse. I det væsentlige bevæger hele scenen sig omkring en statIC -kamera i dette tilfælde. For større scener kan det være lettere at håndtere kompleksiteten i rørledningen og matrixmatinen for at flytte kameraet frit, hvilket efterlader scenen statisk.
Attributterne ved et OpenGL® -kamera styres af projektionsmatrixen. For at bruge kameraets analogi kan projektionsmatrixen betragtes som den type linse, der bruges. Projektionsmatrixen modificeres ofte for at foretage ortografiske fremskrivninger, som ikke har nogen perspektivjustering, og perspektivfremskrivninger, der tegner sig for afstand til bestemmelse af størrelsen på objekter. Andre effekter, såsom et fisk-øjeobjektiv, brændvidde eller forskellige aspektforhold, kan alle indstilles ved hjælp af projektionsmatrixen.