OpenGL Programowanie gier.pdf
(
273 KB
)
Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
OpenGL.
Programowanie gier
Autorzy: Kevin Hawkins, Dave Astle
T³umaczenie: Jaromir Senczyk
ISBN: 83-7361-035-9
Tytu³ orygina³u:
OpenGL Game Programming
Format: B5, stron: 630
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Coraz szybsze procesory, coraz wydajniejsze karty graficzne — wszystko to powoduje,
¿e programi ci gier komputerowych potrafi¹ kreowaæ w³asne, wirtualne i trójwymiarowe
wiaty, przyci¹gaj¹ce gracza bogactwem szczegó³ów i drobiazgowym odwzorowaniem
rzeczywisto ci (lub wyobra ni twórcy). Tworzenie tak zaawansowanych
i skomplikowanych gier nie by³oby mo¿liwe bez bibliotek graficznych, takich jak
OpenGL, pozwalaj¹cych na wy wietlanie trójwymiarowych obiektów przez karty
graficzne ró¿nych producentów. OpenGL w ogromnym stopniu przyspiesza pracê
programisty.
Ksi¹¿ka omawia u¿ycie OpenGL do tworzenia dynamicznych, trójwymiarowych wiatów
gier oraz efektów specjalnych. Przedstawia podstawy tworzenia aplikacji w systemie
Windows, teoriê grafiki trójwymiarowej, ale g³ówny nacisk k³adzie na prezentacjê
funkcjonalno ci OpenGL. Jednak autor nie poprzesta³ na opisie. Sama biblioteka nie
wystarcza do stworzenia gry. Opisane zosta³y tak¿e niezbêdne programi cie elementy
biblioteki DirectX pozwalaj¹ce na wzbogacenie gry o d wiêk i wygodne sterowanie.
Ksi¹¿ka przedstawia:
• Podstawy programowania w Windows, funkcje WGL
• Podstawy teorii grafiki trójwymiarowej
• Maszynê stanów OpenGL i podstawowe elementy grafiki
• Przekszta³cenia uk³adu wspó³rzêdnych i macierze OpenGL
• Kolory i efekty zwi¹zane z o wietleniem
• Mapy bitowe i tekstury w OpenGL
• Listy wy wietlania i tablice wierzcho³ków
• Bufory OpenGL
• Krzywe, powierzchnie i powierzchnie drugiego stopnia
• Sposoby tworzenia efektów specjalnych
• Interfejs DirectInput
• Wykorzystanie DirectX Audio
• Trójwymiarowe modele postaci
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
List od wydawcy serii............................................................................. 15
O Autorach............................................................................................ 17
Przedmowa............................................................................................ 19
Wprowadzenie ....................................................................................... 21
Część I
Wprowadzenie do OpenGL i DirectX ......................................23
Dlaczego tworzymy gry? ............................................................................................... 25
Świat gier ..................................................................................................................... 26
Elementy gry ................................................................................................................ 26
Narzędzia ..................................................................................................................... 28
OpenGL ....................................................................................................................... 30
Historia OpenGL..................................................................................................... 30
Architektura OpenGL .............................................................................................. 31
Biblioteka GLU....................................................................................................... 31
Pakiet bibliotek GLUT............................................................................................. 32
Programy................................................................................................................ 33
DirectX ........................................................................................................................ 33
Historia DirectX ...................................................................................................... 34
Architektura DirectX ............................................................................................... 35
DirectX Graphics ............................................................................................... 36
DirectX Audio ................................................................................................... 36
DirectInput........................................................................................................ 36
DirectPlay ......................................................................................................... 36
DirectShow ....................................................................................................... 36
DirectSetup ....................................................................................................... 37
Porównanie OpenGL i DirectX....................................................................................... 37
Podsumowanie.............................................................................................................. 37
Rozdział 1. OpenGL i DirectX ................................................................................... 25
Rozdział 2. Korzystanie z OpenGL w systemie Windows............................................ 39
Wprowadzenie do programowania w systemie Windows .................................................. 39
Podstawowa aplikacja systemu Windows................................................................... 41
Funkcja WinMain() ................................................................................................. 42
Procedura okienkowa............................................................................................... 42
Obsługa komunikatów........................................................................................ 43
Klasy okien............................................................................................................. 44
Określenie atrybutów klasy okna......................................................................... 45
Ładowanie ikon i kursora myszy ......................................................................... 46
6
OpenGL. Programowanie gier
Rejestracja klasy ..................................................................................................... 48
Tworzenia okna ...................................................................................................... 48
Pętla przetwarzania komunikatów ............................................................................. 50
Kompletna aplikacja systemu Windows..................................................................... 52
Wprowadzenie do funkcji WGL ..................................................................................... 55
Kontekst tworzenia grafiki ....................................................................................... 56
Korzystanie z funkcji WGL...................................................................................... 56
Funkcja wglCreateContext() ............................................................................... 56
Funkcja wglDeleteContext() ............................................................................... 56
Funkcja wglMakeCurrent() ................................................................................. 57
Formaty pikseli ............................................................................................................. 58
Pole nSize............................................................................................................... 58
Pole dwFlags .......................................................................................................... 59
Pole iPixelType....................................................................................................... 59
Pole cColorBits ....................................................................................................... 59
Aplikacja OpenGL w systemie Windows......................................................................... 60
Pełnoekranowe aplikacje OpenGL .................................................................................. 67
Podsumowanie.............................................................................................................. 69
Rozdział 3. Przegląd teorii grafiki trójwymiarowej ..................................................... 71
Skalary, punkty i wektory .............................................................................................. 71
Długość wektora ..................................................................................................... 72
Normalizacja wektora .............................................................................................. 72
Dodawanie wektorów .............................................................................................. 73
Mno enie wektora przez skalar................................................................................. 73
Iloczyn skalarny wektorów....................................................................................... 73
Iloczyn wektorowy .................................................................................................. 74
Macierze ...................................................................................................................... 75
Macierz jednostkowa ............................................................................................... 75
Macierz zerowa....................................................................................................... 75
Dodawanie i odejmowanie macierzy ......................................................................... 76
Mno enie macierzy.................................................................................................. 76
Implementacja działań na macierzach........................................................................ 78
Przekształcenia ............................................................................................................. 79
Przesunięcie............................................................................................................ 80
Obrót ..................................................................................................................... 80
Skalowanie ............................................................................................................. 82
Rzutowanie................................................................................................................... 82
Rzutowanie izometryczne......................................................................................... 83
Rzutowanie perspektywiczne.................................................................................... 84
Obcinanie ..................................................................................................................... 86
Światło......................................................................................................................... 86
Światło otoczenia .................................................................................................... 87
Światło rozproszone ................................................................................................ 87
Światło odbijane...................................................................................................... 88
Odwzorowania tekstur ................................................................................................... 88
Podsumowanie.............................................................................................................. 89
Część II
Korzystanie z OpenGL............................................................91
Funkcje stanu ............................................................................................................... 93
Podstawowe elementy grafiki ......................................................................................... 99
Tworzenie punktów w trójwymiarowej przestrzeni ................................................... 100
Zmiana rozmiaru punktów ................................................................................ 101
Antialiasing..................................................................................................... 101
Rozdział 4. Maszyna stanów OpenGL i podstawowe elementy grafiki......................... 93
Spis treści
7
Odcinki ................................................................................................................ 102
Zmiana szerokości odcinka ............................................................................... 103
Antialiasing odcinków...................................................................................... 103
Wzór linii odcinka ........................................................................................... 103
Wielokąty ............................................................................................................. 104
Ukrywanie powierzchni wielokątów .................................................................. 105
Ukrywanie krawędzi wielokątów....................................................................... 106
Antialiasing wielokątów ................................................................................... 106
Wzór wypełnienia wielokątów .......................................................................... 107
Trójkąty.......................................................................................................... 107
Czworokąty..................................................................................................... 108
Dowolne wielokąty .......................................................................................... 109
Przykład wykorzystania podstawowych elementów grafiki........................................ 109
Podsumowanie............................................................................................................ 110
Rozdział 5. Przekształcenia układu współrzędnych i macierze OpenGL ..................... 111
Przekształcenia układu współrzędnych .......................................................................... 111
Współrzędne kamery i obserwatora......................................................................... 113
Przekształcenia widoku .......................................................................................... 114
Wykorzystanie funkcji gluLookAt() .................................................................. 114
Wykorzystanie funkcji glRotate*() i glTranslate*() ............................................. 115
Własne procedury przekształceń widoku ............................................................ 116
Przekształcenia modelowania ................................................................................. 117
Rzutowanie........................................................................................................... 118
Przekształcenie okienkowe ..................................................................................... 118
OpenGL i macierze ..................................................................................................... 119
Macierz modelowania ............................................................................................ 119
Przesunięcie.......................................................................................................... 120
Obrót ................................................................................................................... 120
Skalowanie ........................................................................................................... 122
Stos macierzy........................................................................................................ 123
Model robota ........................................................................................................ 124
Rzutowanie................................................................................................................. 132
Rzutowanie ortograficzne....................................................................................... 133
Rzutowanie perspektywiczne.................................................................................. 134
Okno widoku ........................................................................................................ 135
Przykład rzutowania .............................................................................................. 136
Wykorzystanie własnych macierzy przekształceń ........................................................... 138
Ładowanie elementów macierzy ............................................................................. 138
Mno enie macierzy................................................................................................ 139
Przykład zastosowania macierzy definiowanych....................................................... 139
Podsumowanie............................................................................................................ 140
Rozdział 6. Kolory, łączenie kolorów i oświetlenie .................................................. 141
Czym są kolory? ......................................................................................................... 141
Kolory w OpenGL ...................................................................................................... 142
Głębia koloru ........................................................................................................ 143
Sześcian kolorów................................................................................................... 143
Model RGBA w OpenGL ...................................................................................... 143
Model indeksowany w OpenGL.............................................................................. 144
Cieniowanie................................................................................................................ 145
Oświetlenie................................................................................................................. 147
Oświetlenie w OpenGL i w realnym świecie ............................................................ 147
Materiały .............................................................................................................. 148
8
OpenGL. Programowanie gier
Normalne.............................................................................................................. 148
Obliczanie normalnych..................................................................................... 149
U ycie normalnych .......................................................................................... 151
Normalne jednostkowe..................................................................................... 152
Korzystanie z oświetlenia w OpenGL...................................................................... 153
Tworzenie źródeł światła .................................................................................. 158
Poło enie źródła światła ................................................................................... 159
Tłumienie........................................................................................................ 160
Strumień światła .............................................................................................. 160
Definiowanie materiałów.................................................................................. 163
Modele oświetlenia .......................................................................................... 164
Efekty odbicia ................................................................................................. 166
Ruchome źródła światła.................................................................................... 167
Łączenie kolorów ........................................................................................................ 173
Przezroczystość .................................................................................................... 174
Podsumowanie............................................................................................................ 179
Rozdział 7. Mapy bitowe i obrazy w OpenGL ........................................................... 181
Mapy bitowe w OpenGL ............................................................................................. 181
Umieszczanie map bitowych .................................................................................. 182
Rysowanie mapy bitowej ....................................................................................... 183
Przykład zastosowania mapy bitowej ...................................................................... 183
Wykorzystanie obrazów graficznych............................................................................. 185
Rysowanie obrazów graficznych............................................................................. 185
Odczytywanie obrazu z ekranu ............................................................................... 187
Kopiowanie danych ekranu .................................................................................... 187
Powiększanie, pomniejszanie i tworzenie odbić........................................................ 188
Upakowanie danych mapy pikseli ................................................................................. 188
Mapy bitowe systemu Windows ................................................................................... 188
Format plików BMP .............................................................................................. 189
Ładowanie plików BMP ........................................................................................ 190
Zapis obrazu w pliku BMP..................................................................................... 191
Pliki graficzne Targa ................................................................................................... 193
Format plików Targa ............................................................................................. 193
Ładowanie zawartości pliku Targa .......................................................................... 194
Zapis obrazów w plikach Targa .............................................................................. 196
Podsumowanie............................................................................................................ 197
Rozdział 8. Odwzorowania tekstur ......................................................................... 199
Odwzorowania tekstur ................................................................................................. 199
Przykład zastosowania tekstury .............................................................................. 200
Mapy tekstur .............................................................................................................. 205
Tekstury dwuwymiarowe ....................................................................................... 205
Tekstury jednowymiarowe ..................................................................................... 206
Tekstury trójwymiarowe ........................................................................................ 206
Obiekty tekstur ........................................................................................................... 207
Tworzenie nazwy tekstury ..................................................................................... 207
Tworzenie i stosowanie obiektów tekstur................................................................. 207
Filtrowanie tekstur ...................................................................................................... 208
Funkcje tekstur ........................................................................................................... 209
Współrzędne tekstury .................................................................................................. 209
Powtarzanie i rozciąganie tekstur ............................................................................ 210
Mipmapy i poziomy szczegółowości ............................................................................. 212
Automatyczne tworzenie mipmap ........................................................................... 213
Plik z chomika:
dd.nauka
Inne pliki z tego folderu:
OpenGL Ksiega eksperta Wydanie III.pdf
(1520 KB)
OpenGL Ksiega eksperta Wydanie VII.pdf
(2479 KB)
OpenGL Receptury dla programisty.pdf
(2203 KB)
OpenGL Ksiega eksperta Wydanie V.pdf
(904 KB)
OpenGL cwiczenia.pdf
(384 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin