Tytuł Grafika 3D czasu rzeczywistego Podtytuł innowacyjny OpenGL Autor Jacek Matulewski Język polski Wydawnictwo Wydawnictwo Naukowe PWN ISBN 978-83-01-18047-8 Rok wydania 2014 Warszawa Wydanie 1 ilość stron 396 Format mobi, epub Spis treści Wstęp 9 Rozdział 1. Inicjowanie okna w klasycznym OpenGL 11 Kilka ustaleń 11 Profil zgodności i profil rdzenny 13 Tworzenie projektu i dopasowanie go do współpracy z OpenGL 14 Tworzenie okna przy pomocy funkcji WinAPI. Klasa okna 16 przypasowanie okna do współpracy z OpenGL przy pomocy funkcji biblioteki WGL. Klasa OknoGL 25 informacje o stosowanej wersji OpenGL i karcie graficznej 28 Przygotowanie i rysowanie sceny 29 kolory 34 Zabawy kamerą 35 Tryb pełnoekranowy 39 Rozdział 2. Wektory i macierze kwadratowe 44 Wektory 44 Zapis za pomocą wersorów 45 Iloczyn skalarny 46 Iloczyn wektorowy 47 Przykład 48 Macierze kwadratowe 50 Czym są macierze? 50 Iloczyn macierzy i mnożenie wektora poprzez macierz 51 Przykład 52 Mnożenie macierzy nie jest przemienne 53 Macierz jednostkowa 53 Macierz odwrotna 54 Wyznacznik macierzy 54 Przykład 55 Sprytny zapis iloczynu wektorowego 57 Obliczanie macierzy odwrotnej 57 Przykład 58 Macierz transponowana 60 Operator gwiazdka 61 Macierz ortonormalna 61 Macierz przekształcenia układu współrzędnych 63 Iloczyn skalarny wektorów i macierze 64 Rzut wektora na kierunek wskazany poprzez inny wektor. Składowa wektora w kierunku wyodrębnionym poprzez inny wektor 65 Macierze 4 × 4 66 Zadania 68 Rozdział 3. Macierze w OpenGL i współrzędne jednolite 70 Przekształcenia układów współrzędnych w potoku renderowania OpenGL 71 Macierz rzutowania 74 Macierz model-widok, a także macierze świata i widoku 78 Współrzędne jednorodne 81 Rozdział 4. Tworzenie kontekstu renderowania. Profil zgodności. Zwiększenia 84 Korzystanie z rozszerzeń ARB 84 Zawirowania z tworzeniem kontekstu 86 użycie glext.h i wglext.h 88 zastosowanie biblioteki GLEW, zarządzającej rozszerzeniami 89 zastosowanie biblioteki DLL 90 Dołączenie kodu źródłowego GLEW do projektu aplikacji 91 Rozdział 5. Profil rdzenny. Bufory 94 Bufory werteksów 94 Tablica indeksów i bufor indeksów 101 Nawijanie i ukrywanie tylnych powierzchni 104 Konsolidacja buforów 106 Klasa werteksu 110 Przełączenie na profil rdzenny i liczenie strat 112 Rozdział 6. Shadery 115 Podstawy GLSL 116 Najprostsze shadery 117 kompilacja shadera 119 odcień i indeksy atrybutów werteksu 126 Trochę zabawy 128 cechy shadera 131 Macierze świata, widoku i rzutowania 134 Kolumny i wiersze 137 Plan awaryjny 137 Zadania 138 Rozdział 7. Macierze używane w grafice 3D 139 Macierze rzutowania 139 Macierz rzutowania izometrycznego 141 Macierz rzutowania perspektywicznego 144 Różnice funkcji glFrustum i gluPerspective 148 Współrzędne viewportu 150 Przykład 150 Macierz świata 155 Translacja 156 Skalowanie i odbicia względem płaszczyzn układu współrzędnych 156 Obroty 157 Obrót wokół dowolnej osi 161 Macierze obrotu a kwaterniony jednostkowe 164 Złożenie obrotów i translacji – obrót wokół dowolnego punktu 164 Pochylenie 165 Rzut na płaszczyznę 166 Macierz widoku 169 Przykład złożenia macierzy widoku, świata i rzutowania 175 Zadania 178 Rozdział 8. Implementacja wektorów i macierzy 179 Wektory 179 Projekt interfejsu 179 Szablon TWektor 180 Specjalizacje szablonu dla wektora trój- i czteroelementowego 183 Testy 187 Macierze 188 Szablon TMacierzKwadratowa 189 Szablon TMacierzGrafika3D 196 Klasa MacierzOpenGL 207 zastosowanie obiektów macierzy w programie 208 Zadania 211 Rozdział 9. Sterowanie kamerą 213 Kontrola obrotów kamery przy pomocy klawiszy 213 Tryby działania kamery 216 Kontrola orientacji kamery przy pomocy myszy 221 Przesuwanie kamery myszą 226 użycie rolki myszy 228 luźne obroty i ich powolne wygaszanie 228 Zadania 233 Rozdział 10. Aktorzy. Rysowanie brył. Animacja 235 Abstrakcja 235 Kwadrat 239 Zmiany w klasie okna 240 Pierwsza bryła 243 Optymalizacja rysowania wielu ciągów 248 Bufor głębi i pomijanie tylnych powierzchni 249 Kwadryki 251 Sfera 258 Aktor z buforem indeksów 261 Sfera z buforem indeksów 264 Końcowy zestaw brył: sfera, walec i sześcian 274 Animacja sceny 276 Zadania 280 Rozdział 11. Oświetlenie. Model Phonga 282 Model Phonga 282 Model Lamberta światła rozproszonego 284 Model rozbłysku Phonga 287 Uśrednianie normalnych 288 Definiowanie normalnych 289 Implementacja oświetlenia w shaderze werteksów 300 Aktualizacja położenia kamery 303 Ustawianie parametrów oświetlenia i materiału 304 Macierz normalnych 306 Osłabienie oświetlenia wraz z odległością 311 Obliczanie oświetlenia per pixel 313 Cel-shading 318 Zadania 319 Rozdział 12. Cienie rzucane 321 Implementacja metody rzutowania cieni 322 Materiał jako źródło danych o odcieniu aktorów 331 Rozdział 13. Odwzorowywanie tekstur 335 Współrzędne teksturowania 335 odfiltrowanie tekstur i mipmapy 337 Zmiany w klasie werteksu i klasach aktorów 337 Wczytanie tekstur 346 Przygotowanie zestawu tekstur 355 Implementacja teksturowania w shaderze fragmentów 357 Tworzenie i usuwanie tekstur 361 Zawijanie tekstur 367 Tekstury w służbie realizmu 371 Zadanie 371 Rozdział 14. użycie wielu tekstur 374 Dwie tekstury 375 kompozycje tekstur 379 Globus i odwzorowywanie rozbłysku 380 Zadania 383 Dodatek. Biblioteki GLFW i GLM 384 Biblioteka GLM 384 Dodanie biblioteki GLM do projektu 384 Przykład zastosowania funkcji GLM 385 Biblioteka GLFW 388 Dodanie biblioteki GLFW do projektu 388 Inicjowanie okna z zastosowaniem GLFW 389 Pętla główna 393 Obsługa zdarzeń 394 Indeks 396
Opinie i recenzje użytkowników
Dodaj opinie lub recenzję dla Grafika 3d czasu rzeczywistego, AZ#B6B5BA79EB/DL-ebwm/mobi. Twój komentarz zostanie wyświetlony po moderacji.