OpenGL_Ksiega_eksperta_Wydanie_V_opglk5.pdf

(904 KB) Pobierz
Idź do
• Spis treści
• Przykładowy rozdział
• Skorowidz
Katalog książek
• Katalog online
• Zamów drukowany
katalog
Twój koszyk
• Dodaj do koszyka
Cennik i informacje
• Zamów informacje
o nowościach
• Zamów cennik
Czytelnia
• Fragmenty książek
online
OpenGL. Księga eksperta.
Wydanie V
Autorzy:
Richard S. Wright, Nicholas Haemel,
Graham Sellers, Benjamin Lipchak
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-246-2976-3
Tytuł oryginału:
OpenGL SuperBible: Comprehensive
Tutorial and Reference (5th Edition)
Format: 172×245, stron: 688
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
© Helion 1991–2011
Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D
i efektowne, trójwymiarowe wizualizacje!
• Jak sprawnie tworzyć podstawowe obiekty, oświetlać je i cieniować?
• Jak napisać własne programy, korzystając z biblioteki OpenGL i języka GLSL?
• Jak programować grafikę na urządzenia przenośne, takie jak iPhone, iPod czy iPad?
Po prawie dwudziestu latach na rynku biblioteka OpenGL jest dziś wiodącym API w dziedzinie
programowania grafiki trójwymiarowej, gier 3D, wizualizacji, symulacji, modelowania naukowego,
a nawet edytowania obrazów i filmów dwuwymiarowych. Swój sukces zawdzięcza nie tylko łatwości
użycia, ale przede wszystkim kompatybilności z niemal wszystkimi platformami dostępnymi na
rynku. Świetnie sprawdza się zarówno w komputerach PC z systemem Windows, jak i komputerach
Mac, a także na stacjach uniksowych, w centrach rozrywki opartych o lokalizację, na najbardziej
znanych konsolach do gier, w kieszonkowych grach elektronicznych, a nawet w oprzyrządowaniu
lotniczym czy samochodowym. Nie bez znaczenia dla spopularyzowania tej biblioteki był także
fakt, że można ją rozszerzać, dzięki czemu ma ona wszystkie zalety otwartego standardu,
a dodatkowo można wzbogacać jej implementację o własne dodatki.
„OpenGL. Księga eksperta. Wydanie 5” to nowe, zaktualizowane (specyfikacja OpenGL 3.3) wydanie
znanego podręcznika dla wszystkich programistów, bez względu na poziom ich zaawansowania.
Książka ta stanowi wyczerpujący kurs tworzenia niesamowitych wizualizacji 3D, gier oraz
wszelkiego rodzaju grafik. Dzięki niej nauczysz się pisać programy wykorzystujące bibliotekę
OpenGL, konfigurować środowisko pracy do przetwarzania grafiki trójwymiarowej oraz tworzyć
podstawowe obiekty, oświetlać je i cieniować. Następnie zgłębisz tajniki języka OpenGL Shading
Language i zaczniesz sprawnie pisać własne programy, wprowadzać do nich rozmaite efekty
wizualne oraz zwiększać ich wydajność. Poznasz wszystkie najnowsze techniki programowania
przy użyciu biblioteki OpenGL, takie jak przekształcenia, nakładanie tekstur, cieniowanie,
zaawansowane bufory czy zarządzanie geometrią. Przejdziesz także szczegółowy kurs
programowania grafiki w urządzeniach iPhone, iPod touch oraz iPad!
Kompletny przewodnik po najpopularniejszej na świecie bibliotece do
programowania grafiki trójwymiarowej OpenGL 3.3!
Spis treści
Podziękowania ............................................................................................ 17
O autorach .................................................................................................... 21
Wstęp do wydania piątego ......................................................................... 23
Wstęp do wydania czwartego .................................................................... 25
Wstęp do wydania trzeciego ...................................................................... 29
Wprowadzenie ............................................................................................. 31
Co nowego w tym wydaniu ........................................................................................................ 31
Struktura książki .......................................................................................................................... 32
Część I: Podstawy ................................................................................................................. 32
Część II: Techniki średnio zaawansowane i zaawansowane .......................................... 34
Część III: OpenGL na różnych platformach .................................................................... 34
Konwencje typograficzne ........................................................................................................... 35
Witryna internetowa ............................................................................................................ 35
Część I
Podstawy ................................................................................. 37
Historia grafiki komputerowej w skrócie ................................................................................ 40
Elektryczność ........................................................................................................................ 40
Wejście w trzeci wymiar ...................................................................................................... 41
Podstawowe efekty trójwymiarowe i najważniejsze pojęcia ................................................. 44
Przekształcanie i rzutowanie ............................................................................................... 44
Rasteryzacja ........................................................................................................................... 45
Cieniowanie ........................................................................................................................... 45
Teksturowanie ....................................................................................................................... 46
Mieszanie kolorów ............................................................................................................... 47
Łączenie punktów ................................................................................................................. 47
Typowe zastosowania grafiki trójwymiarowej ........................................................................ 47
Trzy wymiary w czasie rzeczywistym ................................................................................ 47
Trzy wymiary bez czasu rzeczywistego ............................................................................. 48
Programy do cieniowania ................................................................................................... 50
Podstawowe zasady programowania grafiki trójwymiarowej .............................................. 52
To nie jest zestaw narzędzi .................................................................................................. 52
Układy współrzędnych ........................................................................................................ 52
Rzutowanie z trzech w dwa wymiary ................................................................................ 56
Podsumowanie ............................................................................................................................. 58
Rozdział 1. Wprowadzenie do grafiki trójwymiarowej i biblioteki OpenGL ............. 39
Spis treści
Rozdział 2. Rozpoczynanie pracy .................................................................................. 61
Czym jest OpenGL ...................................................................................................................... 62
Ewolucja standardu .............................................................................................................. 63
Mechanizm rozszerzeń ............................................................................................................... 64
Czyje to rozszerzenie ............................................................................................................ 66
Korzystanie z biblioteki OpenGL .............................................................................................. 71
Narzędzia pomocnicze ......................................................................................................... 72
Biblioteka GLUT ................................................................................................................... 72
Biblioteka GLEW .................................................................................................................. 73
Biblioteka GLTools ............................................................................................................... 73
Szczegóły interfejsu ..................................................................................................................... 74
Typy danych .......................................................................................................................... 74
Błędy OpenGL ............................................................................................................................. 76
Sprawdzanie wersji ...................................................................................................................... 77
Pobieranie wskazówek z funkcji glHint ................................................................................... 77
Maszyna stanów OpenGL .......................................................................................................... 78
Konfigurowanie środowiska programistycznego w systemie Windows ...................... 79
Dodawanie ścieżek ............................................................................................................... 79
Tworzenie projektu .............................................................................................................. 81
Dodawanie własnych plików .............................................................................................. 82
Konfigurowanie środowiska programistycznego w systemie Mac OS X ............................ 84
Niestandardowe ustawienia kompilacji ............................................................................ 85
Tworzenie nowego projektu ............................................................................................... 85
Szkielety, nagłówki i biblioteki ........................................................................................... 87
Nasz pierwszy trójkąt ........................................................................................................... 90
Układ współrzędnych .......................................................................................................... 95
Konfigurowanie ustawień ................................................................................................... 98
Zabieramy się do pracy ...................................................................................................... 100
Ożywianie sceny ........................................................................................................................ 101
Klawisze specjalne .............................................................................................................. 101
Odświeżanie ekranu ........................................................................................................... 103
Prosta animacja .......................................................................................................................... 103
Podsumowanie ........................................................................................................................... 104
Rozdział 3. Podstawy renderowania ........................................................................... 105
Rysowanie punktów w trzech wymiarach ............................................................................. 106
Podstawowy potok graficzny ................................................................................................... 106
Klient-serwer ....................................................................................................................... 107
Programy do cieniowania ................................................................................................. 108
Konfigurowanie układu współrzędnych ................................................................................ 110
Rzutowanie ortogonalne ................................................................................................... 111
Rzutowanie perspektywiczne ............................................................................................ 112
Standardowe programy do cieniowania ................................................................................ 112
Atrybuty ............................................................................................................................... 113
Zmienne typu uniform ...................................................................................................... 113
Łączenie punktów ...................................................................................................................... 115
Punkty i linie ....................................................................................................................... 116
8
Spis treści
Rysowanie trójkątów w trzech wymiarach ..................................................................... 120
Nawinięcie ........................................................................................................................... 121
Prosty kontener porcji danych ................................................................................................ 124
Niechciana geometria ........................................................................................................ 126
Przesuwanie wielokątów .................................................................................................... 131
Wycinanie nożycami .......................................................................................................... 134
Mieszanie kolorów .................................................................................................................... 135
Łączenie kolorów ................................................................................................................ 136
Zmiana równania mieszania ............................................................................................. 139
Wygładzanie ........................................................................................................................ 140
Podsumowanie ........................................................................................................................... 145
Rozdział 4. Podstawy przekształceń geometrycznych.
Najważniejsze informacje o wektorach i macierzach ............................ 147
Czy to jest ten straszny rozdział z matematyką? ................................................................... 148
Szybki kurs matematyki ........................................................................................................... 149
Wektory, czyli w którym kierunku .................................................................................. 149
Macierz ................................................................................................................................. 152
Przekształcenia ........................................................................................................................... 154
Współrzędne oka ................................................................................................................ 154
Przekształcenia punktu widzenia ..................................................................................... 155
Przekształcenia modelowania ........................................................................................... 156
Dwoistość model-widok .................................................................................................... 157
Przekształcenia rzutowania ............................................................................................... 158
Przekształcenia widoku ..................................................................................................... 159
Macierz model-widok ............................................................................................................... 160
Konstruowanie macierzy ................................................................................................... 160
Łączenie przekształceń ....................................................................................................... 164
Stosowanie macierzy model-widok ................................................................................. 165
Więcej obiektów ........................................................................................................................ 167
Klasa zestawów trójkątów ................................................................................................. 167
Macierz rzutowania ................................................................................................................... 171
Rzutowanie prostopadłe .................................................................................................... 171
Rzutowanie perspektywiczne ............................................................................................ 172
Macierz rzutowania model-widok ................................................................................... 174
Potok przekształceń ........................................................................................................... 178
Stos macierzy ....................................................................................................................... 179
Modyfikowanie potoku ..................................................................................................... 180
Wersja wzbogacona ............................................................................................................ 184
Poruszanie się przy użyciu kamer i aktorów ......................................................................... 185
Układ odniesienia aktora ................................................................................................... 186
Kąty Eulera. „Użyj układu odniesienia, Luke!” .............................................................. 187
Obsługa kamery .................................................................................................................. 188
Dodawanie aktorów ........................................................................................................... 191
Oświetlenie .......................................................................................................................... 192
Podsumowanie ........................................................................................................................... 193
9
Zgłoś jeśli naruszono regulamin