Co to jest projekcja OpenGL®?

Projekcja OpenGL® to proces i obraz wynikający z translacji obiektów trójwymiarowych (3D) na wyrównany obraz dwuwymiarowy (2D), który można wyświetlić na ekranie. Słowo „projekcja” w programowaniu grafiki komputerowej odnosi się do faktu, że obiekty 3D w scenie muszą być matematycznie przesuwane lub rzutowane na wirtualną powierzchnię 2D, aby można je było wyświetlić na płaskim wyświetlaczu na urządzeniu. Chociaż całą sekwencję zdarzeń, które wykonują obiekt 3D i renderują go na powierzchnię 2D, można nazwać projekcją, termin ten jest również węższy stosowany do określonego zestawu przekształceń geometrycznych w potoku graficznym, które występują jako krok między innymi zestawami przekształcenia. Dwa specyficzne typy trybów projekcji OpenGL®, które są dostępne dla programistów, to perspektywiczny i ortograficzny.

Wyzwaniem przy tworzeniu projekcji OpenGL® jest zebranie danych obejmujących wszystkie obiekty w danej scenie i dostosowanie ich tak, aby po wyświetleniu na ekranie obiekty były zgodne z trybem projekcji, głośnością oglądania i ustawieniami wirtualnej kamery. Objętość oglądania to widoczny obszar sceny z położenia widza w scenie lub z pozycji oka. Sześć liczb określa głośność oglądania, w tym odległość prawa, lewa, góra i dół od wirtualnego środka ramki widzenia. Dodatkowo, dwie wartości zwane płaszczyznami bliskimi i dalekimi określają głębokość oglądanego obrazu. Ta objętość określa, jakie obiekty będą rzutowane, podczas gdy wszystkie inne obiekty poza objętością zostaną zignorowane lub przycięte, aby niewidoczne części nie zostały ocenione.

Pierwszy tryb projekcji OpenGL®, który można zastosować, jest znany jako projekcja prostokątna. W tym trybie współrzędne obiektów w scenie nie są dostosowywane do ich odległości od widza lub perspektywy. Oznacza to, że wszystkie obiekty są rysowane w tym samym rozmiarze, niezależnie od odległości od widza. Ten tryb projekcji OpenGL® jest najczęściej używany w programach do modelowania 3D, programach do projektowania inżynierskiego i aplikacjach, które wykorzystują wielokąty 3D do tworzenia złożonych obrazów 2D i nie wymagają dokładnej perspektywy.

Częściej używany tryb projekcji OpenGL® jest znany jako projekcja perspektywiczna. W trybie projekcji perspektywicznej obiekty w scenie są skalowane i pozycjonowane zgodnie z ich odległością od widza. Oznacza to, że bardziej odległe obiekty wydają się mniejsze. Oznacza to również, że obiekty w scenie są dostosowywane tak, aby powoli zbiegały się w punkcie na horyzoncie widzenia zwanym punktem zbiegu. Projekcja perspektywiczna ściśle modeluje wygląd świata rzeczywistego i służy do tworzenia realistycznych renderingów, w przeciwieństwie do technicznych.