OpenGL_Programowanie_gier_prgrop.pdf
(
294 KB
)
Pobierz
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
OpenGL.
SPIS TRECI
Programowanie gier
KATALOG KSI¥¯EK
Autorzy: Kevin Hawkins, Dave Astle
T³umaczenie: Jaromir Senczyk
ISBN: 83-7361-035-9
Tytu³ orygina³
u:
OpenGL Game Programming
Format: B5, stron: 630
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Coraz szybsze procesory, coraz wydajniejsze karty graficzne — wszystko to powoduje,
¿e programici gier komputerowych potrafi¹ kreowaæ w³asne, wirtualne i trójwymiarowe
wiaty, przyci¹gaj¹ce gracza bogactwem szczegó³ów i drobiazgowym odwzorowaniem
rzeczywistoci (lub wyobrani twórcy). Tworzenie tak zaawansowanych
i skomplikowanych gier nie by³oby mo¿liwe bez bibliotek graficznych, takich jak
OpenGL, pozwalaj¹cych na wywietlanie 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ê
funkcjonalnoci OpenGL. Jednak autor nie poprzesta³ na opisie. Sama biblioteka nie
wystarcza do stworzenia gry. Opisane zosta³y tak¿e niezbêdne programicie elementy
biblioteki DirectX pozwalaj¹ce na wzbogacenie gry o dwiê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 owietleniem
• Mapy bitowe i tekstury w OpenGL
• Listy wywietlania 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
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
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 treci
List od wydawcy serii.............................................................................15
O Autorach............................................................................................17
Przedmowa............................................................................................19
Wprowadzenie.......................................................................................21
Cz I Wprowadzenie do OpenGL i DirectX ......................................23
Rozdział 1. OpenGL i DirectX...................................................................................25
Dlaczego tworzymy gry? ............................................................................................... 25
wiat gier.....................................................................................................................26
Elementy gry ................................................................................................................ 26
Narzdzia ..................................................................................................................... 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ł 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
Ptla 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=D wektora ..................................................................................................... 72
Normalizacja wektora.............................................................................................. 72
Dodawanie wektorów .............................................................................................. 73
MnoEenie 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
MnoEenie macierzy.................................................................................................. 76
Implementacja działaF na macierzach........................................................................ 78
Przekształcenia ............................................................................................................. 79
Przesunicie............................................................................................................ 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
Rozdział 4. Maszyna stanów OpenGL i podstawowe elementy grafiki.........................93
Funkcje stanu ............................................................................................................... 93
Podstawowe elementy grafiki......................................................................................... 99
Tworzenie punktów w trójwymiarowej przestrzeni................................................... 100
Zmiana rozmiaru punktów................................................................................ 101
Antialiasing..................................................................................................... 101
Spis treci
7
Odcinki ................................................................................................................ 102
Zmiana szeroko=ci odcinka............................................................................... 103
Antialiasing odcinków...................................................................................... 103
Wzór linii odcinka ........................................................................................... 103
WielokHty............................................................................................................. 104
Ukrywanie powierzchni wielokHtów.................................................................. 105
Ukrywanie krawdzi wielokHtów....................................................................... 106
Antialiasing wielokHtów ................................................................................... 106
Wzór wypełnienia wielokHtów .......................................................................... 107
TrójkHty.......................................................................................................... 107
CzworokHty..................................................................................................... 108
Dowolne wielokHty .......................................................................................... 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ółrzdnych.......................................................................... 111
Współrzdne kamery i obserwatora......................................................................... 113
Przekształcenia widoku.......................................................................................... 114
Wykorzystanie funkcji gluLookAt() .................................................................. 114
Wykorzystanie funkcji glRotate*() i glTranslate*().............................................115
Własne procedury przekształceF widoku............................................................ 116
Przekształcenia modelowania ................................................................................. 117
Rzutowanie........................................................................................................... 118
Przekształcenie okienkowe..................................................................................... 118
OpenGL i macierze ..................................................................................................... 119
Macierz modelowania............................................................................................ 119
Przesunicie.......................................................................................................... 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łceF........................................................... 138
Ładowanie elementów macierzy ............................................................................. 138
MnoEenie macierzy................................................................................................ 139
Przykład zastosowania macierzy definiowanych....................................................... 139
Podsumowanie............................................................................................................ 140
Rozdział 6. Kolory, ł'czenie kolorów i o1wietlenie..................................................141
Czym sH 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
UEycie normalnych .......................................................................................... 151
Normalne jednostkowe..................................................................................... 152
Korzystanie z o=wietlenia w OpenGL...................................................................... 153
Tworzenie Jródeł =wiatła.................................................................................. 158
PołoEenie Jródła =wiatła ................................................................................... 159
Tłumienie........................................................................................................ 160
StrumieF =wiatła .............................................................................................. 160
Definiowanie materiałów.................................................................................. 163
Modele o=wietlenia .......................................................................................... 164
Efekty odbicia ................................................................................................. 166
Ruchome Jródła =wiatła.................................................................................... 167
ŁHczenie kolorów........................................................................................................ 173
Przezroczysto=D .................................................................................................... 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
Powikszanie, pomniejszanie i tworzenie odbiD........................................................ 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ółrzdne tekstury .................................................................................................. 209
Powtarzanie i rozciHganie tekstur............................................................................ 210
Mipmapy i poziomy szczegółowo=ci............................................................................. 212
Automatyczne tworzenie mipmap ........................................................................... 213
Plik z chomika:
Ksiegarnia_Informatyka
Inne pliki z tego folderu:
OpenGL_cwiczenia_cwopgl.pdf
(395 KB)
OpenGL_Ksiega_eksperta_Wydanie_III_opglke.pdf
(1556 KB)
OpenGL_Ksiega_eksperta_Wydanie_V_opglk5.pdf
(948 KB)
OpenGL_Leksykon_kieszonkowy_opgllk.pdf
(322 KB)
OpenGL_Programowanie_gier_prgrop.pdf
(294 KB)
Inne foldery tego chomika:
DirectX
Programowanie gier
Zgłoś jeśli
naruszono regulamin