This is the Polish translation of Getting-started/Review article of learnopengl.com tutorial series.
Gratuluję dotarcia do końca sekcji Pierwsze kroki. Teraz umiesz już tworzyć okna z kontekstem OpenGL, tworzyć i kompilować shadery, wysyłać dane wierzchołkowe do shaderów poprzez obiekty buforów lub uniformy, rysować obiekty, używać tekstur, rozumiesz czym są wektory i macierze oraz umiesz połączyć całą tą wiedzę, aby stworzyć pełną scenę 3D z wirtualną kamerą.
Uff, nauczyliśmy się bardzo dużo z ostatnich kilku rozdziałów. Staraj się bawić samouczkami, trochę eksperymentuj lub spróbuj zaimplementować własne pomysły. Jak tylko poczujesz, że wszystkie wcześniej omówione materiały nie kryją przed Tobą żadnych tajemnic, to nadszedł czas, aby przejść do następnych tutoriali.
Słowniczek
- OpenGL: formalna specyfikacja graficznego API, która definiuje wygląd i rezultat każdej z funkcji.
- GLAD: biblioteka ładująca i ustawiająca wszystkie wskaźniki funkcji OpenGL za nas, dzięki czemu możemy używać wszystkich (nowoczesnych) funkcji OpenGL.
- Viewport: obszar, w którym renderujemy.
- Potok renderowania: cały proces jaki musi przejść wierzchołek zanim zostanie wyświetlony jako piksel na ekranie.
- Shader: mały program działający na karcie graficznej. Kilka etapów z potoku graficznego może używać stworzonych przez użytkownika programów cieniujących, w celu transformacji wierzchołków i wyświetleniu obiektów na ekranie.
- Wierzchołek (ang. Vertex): zbiór danych reprezentujących jeden punkt.
- Znormalizowane Współrzędne Urządzenia (NDC): układ współrzędnych, w którym znajdują się wierzchołki, po etapie obcinania i dzieleniu perspektywicznym na współrzędnych obcinania. Wszystkie pozycje wierzchołków w NDC są między -1.0 a 1.0 nie zostaną odrzucone i będą widoczne.
- Vertex Buffer Object: obiekt bufora, który przydziela pamięć i przechowuje wszystkie dane wierzchołkowe do użytku przez kartę graficzną.
- Vertex Array Object: przechowuje informacje o stanie bufora i atrybutów wierzchołkowych.
- Element Buffer Object: obiekt bufora, który przechowuje indeksy dla renderowania indeksowego.
- Uniform: specjalny typ zmiennej globalnej GLSL (każdy shader w programie może uzyskać dostęp do tej zmiennej) i musi być ustawiony tylko raz.
- Tekstura: specjalny typ obrazu, nakładany na obiekty 3D, dający iluzję, że obiekt posiada bardzo dużo szczegółów.
- Zawijanie Tekstury (ang. Texture Wrapping): definiuje tryb określający sposób, w jaki OpenGL powinien próbkować tekstury, gdy współrzędne tekstur są poza zakresem: (0, 1).
- Filtrowanie Tekstury (ang. Texture Filtering): definiuje tryb określający sposób, w jaki OpenGL powinien próbkować tekstury, gdy do wyboru jest kilka tekseli (pikseli tekstur). Zwykle występuje, gdy tekstura zostaje powiększana.
- Mipmapy: przechowywane mniejsze wersje tekstury, z których wybierana jest mipmapa o odpowiednim rozmiarze w oparciu o odległość do obserwatora.
- stb_image: biblioteka ładująca obrazy.
- Jednostki Teksturujące (ang. Texture Units): pozwalają na używanie wielu tekstur na pojedynczym obiekcie, łącząc różne obiekty tekstur z innymi jednostkami teksturującymi.
- Wektor: byt matematyczny, która definiuje kierunki i/lub pozycje w dowolnym wymiarze.
- Macierz: prostokątna tablica wyrażeń matematycznych.
- GLM: biblioteka matematyczna stworzona z myślą o OpenGL.
- Przestrzeń lokalna (ang. Local Space): przestrzeń obiektu 3D. Wszystkie współrzędne są określane względem punktu początkowego obiektu.
- Przestrzeń świata (ang. World Space): wszystkie współrzędne są określane względem globalnego punktu początkowego.
- Przestrzeń widoku (ang. View Space): wszystkie współrzędne widziane z perspektywy kamery.
- Przestrzeń obcinania (ang. Clip Space): wszystkie współrzędne widziane z perspektywy kamery, ale z zastosowaniem projekcji. Jest to przestrzeń, w której współrzędne wierzchołków powinny znajdować się po operacjach w Vertex Shader. OpenGL zajmuje się resztą (przycinanie/dzielenie perspektywiczne).
- Przestrzeń Ekranu (ang. Screen Space): wszystkie współrzędne wyświetlane na ekranie. Współrzędne wahają się w przedziale od 0 do szerokości/wysokości ekranu.
- LookAt: specjalny typ macierzy widoku, który tworzy układ współrzędnych, w którym wszystkie współrzędne są obracane i przesuwane w taki sposób, że użytkownik patrzy na określony cel z danej pozycji.
- Kąty Eulera: zdefiniowane jako yaw, pitch i roll, które pozwalają nam stworzyć dowolny wektor kierunku 3D z tych trzech wartości.