tylko-tutaj-triki-najlepszych-programistow-gier-3d-vademecum-profesjonalisty_trik1.pdf

(90236 KB) Pobierz
656463160 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Triki najlepszych
programistów gier 3D.
SPIS TRECI
Vademecum profesjonalisty
KATALOG KSI¥¯EK
Autor: Andre LaMothe
T³umaczenie: Adam Bochenek (wstêp, rozdz. 1 –3),
Jaros³aw Dobrzañski (rozdz. 6 – 9), S³awomir
Dzieniszewski (rozdz. 14 – 16, dod. A – F)
ISBN: 83-7361-267-X
Format: B5, stron: 1312
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Swoje triki zdradz¹ Ci prawdziwi guru ze wiata twórców gier
Tworzenie gier 3D wymaga opanowania nie tylko jêzyka programowania, ale tak¿e
wielu innych dziedzin wiedzy -- analizy matematycznej, rachunku macierzowego
i wektorowego oraz geometrii. Oczywicie ka¿da z tych nauk zosta³a ju¿ opisana
w dziesi¹tkach tomów. Ksi¹¿ka, któr¹ trzymasz w rêce, zawiera wszystkie informacje
niezbêdne do stworzenia gry 3D dzia³aj¹cej w rodowisku Windows, zebrane w jednym
tomie. Korzystaj¹c z niej, nie bêdziesz ju¿ musia³ przerzucaæ tysiêcy stron
w poszukiwaniu potrzebnego Ci wzoru.
Autor ksi¹¿ki, wykorzystuj¹c ponad dwudziestopiêcioletnie dowiadczenie
w programowaniu, przedstawi Ci:
• algorytmy matematyczne wykorzystywane w grafice 3D,
• zasady programowania w Windows i DirectX,
• algorytmy wywietlania grafiki 2D i 3D,
• techniki animacji i renderingu 3D,
• mapowanie tekstur,
• techniki symulacji owietlenia i wiele innych informacji.
Korzystaj¹c z tej ksi¹¿ki, opracujesz doskona³y, oparty wy³¹cznie na warstwie
oprogramowania silnik 3D dla gry, wykorzystasz w swoich grach modele i postaci
stworzone w programach 3D, stworzysz realistyczn¹ sceneriê gry 3D i zoptymalizujesz
kod ród³owy programu pod k¹tem szybkoci jego wykonywania.
O autorze:
Andre LaMothe to autor uznanych przez rynek ksi¹¿ek o programowaniu gier i grafiki
trójwymiarowej. Ci¹g jego sukcesów wydawniczych zapocz¹tkowa³o pierwsze wydanie
tej ksi¹¿ki (ustanowi³o ono swego czasu standardy programowania gier dla systemu
DOS). Andre LaMothe programuje od ponad 25 lat i oprócz niew¹tpliwej praktyki
posiada stosowne wykszta³cenie z zakresu matematyki, informatyki i elektrotechniki.
Znany jest równie¿ jako za³o¿yciel firm Xtreme Games LCC, Nurve Networks i XGDC.
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
656463160.001.png 656463160.002.png 656463160.003.png
 
Wprowadzenie.......................................................................................................................27
Elementy gier 2D/3D.............................................................................................................29
Ogólne wskazówki dotyczce programowania gier..............................................................33
Narz!dzia...............................................................................................................................36
Edytor poziomów 3D.......................................................................................................39
Przygotowanie kompilatora.............................................................................................40
Przykładowa gra 3D: Raiders 3D..........................................................................................43
P!tla obsługi zdarze+.......................................................................................................62
Logika gry 3D..................................................................................................................62
Rzutowanie 3D................................................................................................................64
Gwiezdne tło....................................................................................................................66
Działo laserowe i wykrywanie kolizji.............................................................................66
Eksplozja.........................................................................................................................66
Zasady gry.......................................................................................................................67
Podsumowanie.......................................................................................................................67
!!"#$
Model programowania Win32...............................................................................................69
Programowanie w Windows — absolutne minimum............................................................70
Wszystko zaczyna si! od WinMain()..............................................................................70
Wzorcowa aplikacja Windows..............................................................................................75
Klasa okna.......................................................................................................................76
Rejestracja klasy okna.....................................................................................................80
Tworzenie okna...............................................................................................................80
Obsługa zdarze+..............................................................................................................82
P!tla obsługi komunikatów.............................................................................................87
P!tla obsługi komunikatów pracujca w czasie rzeczywistym.......................................90
DirectX i COM w pigułce......................................................................................................91
HEL i HAL......................................................................................................................93
Komponenty DirectX......................................................................................................94
Wprowadzenie do COM........................................................................................................95
Co to jest obiekt COM?...................................................................................................96
Tworzenie i u>ywanie interfejsów COM biblioteki DirectX..........................................98
Dost!p do interfejsów......................................................................................................98
Podsumowanie.....................................................................................................................100
6
Triki najlepszych programistów gier 3D. Vademecum profesjonalisty
%!"&'&!(
Zało>enia interfejsu abstrakcyjnego komputera..................................................................101
Budujemy abstrakcyjny komputer.......................................................................................103
System video, bufor ramki.............................................................................................103
Praca z kolorami............................................................................................................106
Kopiowanie bufora........................................................................................................108
Kompletny system graficzny abstrakcyjnego komputera..............................................110
DDwi!k, muzyka, urzdzenia wejEcia............................................................................110
Konsola do gier T3DLIB.....................................................................................................111
Podstawowa konsola do gier.........................................................................................111
Biblioteka T3DLIB..............................................................................................................116
Architektura modułu graficznego..................................................................................117
Podstawowe definicje....................................................................................................117
Makra.............................................................................................................................119
Typy danych, struktury..................................................................................................119
Funkcje..........................................................................................................................122
Globalna dominacja.......................................................................................................125
Interfejs DirectDraw......................................................................................................126
Funkcje operujce na figurach 2D.................................................................................130
Funkcje matematyczne i obsługa bł!dów......................................................................136
Mapy bitowe..................................................................................................................138
Obsługa palety w trybie 8-bitowym..............................................................................142
Funkcje pomocnicze......................................................................................................145
Obiekty BOB.................................................................................................................146
T3DLIB2 — moduł obsługi urzdze+ wejEcia....................................................................154
T3DLIB3 — biblioteka obsługi dDwi!ku i muzyki.............................................................159
Definicje........................................................................................................................160
Typy...............................................................................................................................160
Zmienne globalne..........................................................................................................161
DirectSound API............................................................................................................161
DirectMusic API............................................................................................................166
Ostateczna postaJ konsoli T3D............................................................................................168
Przypisanie funkcji graficznych abstrakcyjnemu modelowi.........................................168
Konsola T3DLIB...........................................................................................................171
Przykładowe aplikacje.........................................................................................................179
Aplikacje okienkowe.....................................................................................................179
Aplikacje pełnoekranowe..............................................................................................180
DDwi!k i muzyka...........................................................................................................181
Klawiatura, myszka, joystick.........................................................................................181
Podsumowanie.....................................................................................................................184
!"! #$
) *&+!&+"!&
,"&!-
Notacje matematyczne.........................................................................................................187
Dwuwymiarowe układy współrz!dnych..............................................................................188
Dwuwymiarowy układ współrz!dnych kartezja+skich.................................................189
Dwuwymiarowy układ współrz!dnych biegunowych...................................................190
Trójwymiarowe układy współrz!dnych...............................................................................193
Trójwymiarowe współrz!dne kartezja+skie..................................................................193
Trójwymiarowe współrz!dne cylindryczne.........................................................................196
Konwersja trójwymiarowych współrz!dnych kartezja+skich
do współrz!dnych cylindrycznych..............................................................................196
Spis tre ci
7
Trójwymiarowe współrz!dne sferyczne..............................................................................197
Podstawy trygonometrii.......................................................................................................198
Trójkt prostoktny........................................................................................................199
Odwrotne funkcje trygonometryczne............................................................................200
Zale>noEci trygonometryczne........................................................................................201
Wektory...............................................................................................................................202
DługoEJ wektora............................................................................................................203
Normalizacja..................................................................................................................204
Mno>enie wektora przez wartoEci skalarne...................................................................204
Dodawanie wektorów....................................................................................................205
Odejmowanie wektorów................................................................................................206
Iloczyn skalarny wektorów............................................................................................206
Iloczyn wektorowy........................................................................................................209
Wektor zerowy..............................................................................................................211
Wektory poło>enia i wektory przemieszczenia.............................................................211
Wektory jako kombinacje liniowe składowych.............................................................211
Macierze i algebra liniowa...................................................................................................212
Macierz jednostkowa.....................................................................................................214
Dodawanie macierzy.....................................................................................................214
Transpozycja macierzy..................................................................................................215
Mno>enie macierzy........................................................................................................215
Reguły mno>enia macierzy...........................................................................................217
Wyznaczanie macierzy odwrotnej i rozwizywanie układów równa+................................217
Reguła Cramera.............................................................................................................219
Przekształcenia geometryczne z wykorzystaniem macierzy.........................................221
Współrz!dne jednorodne...............................................................................................222
Przekształcenia macierzowe..........................................................................................223
Podstawowe obiekty geometryczne.....................................................................................230
Punkty............................................................................................................................230
Proste.............................................................................................................................230
Proste w przestrzeni trójwymiarowej............................................................................232
Płaszczyzny...................................................................................................................234
Równania parametryczne.....................................................................................................238
Proste parametryczne na płaszczyDnie i w przestrzeni trójwymiarowej.......................238
Parametryczne definicje odcinków, wykorzystujce zwykły wektor kierunkowy v.....239
Parametryczne definicje odcinków,
wykorzystujce jednostkowy wektor kierunkowy |v| = 1...........................................240
Parametryczne proste w przestrzeni trójwymiarowej....................................................241
Kwaterniony — wprowadzenie...........................................................................................246
Teoria liczb zespolonych...............................................................................................247
Rozszerzenie liczb zespolonych....................................................................................252
Zastosowania kwaternionów.........................................................................................257
Wst!p do analizy matematycznej ........................................................................................261
Poj!cie niesko+czonoEci................................................................................................261
Granice...........................................................................................................................263
Sumy i szeregi liczbowe sko+czone..............................................................................264
Szeregi liczbowe niesko+czone.....................................................................................266
Pochodne.......................................................................................................................267
Całki...............................................................................................................................274
Podsumowanie.....................................................................................................................279
. /0"'&" -
Moduł matematyczny — przegld.......................................................................................282
Struktura plików modułu matematycznego...................................................................282
Konwencja nazewnicza.................................................................................................282
8
Triki najlepszych programistów gier 3D. Vademecum profesjonalisty
Obsługa bł!dów.............................................................................................................283
Słowo na temat j!zyka C++...........................................................................................284
Struktury i typy danych........................................................................................................284
Wektory i punkty...........................................................................................................284
Równania parametryczne prostych................................................................................286
Płaszczyzny w przestrzeni trójwymiarowej..................................................................287
Macierze........................................................................................................................287
Kwaterniony..................................................................................................................290
Obsługa współrz!dnych niekartezja+skich....................................................................291
Dwuwymiarowy układ współrz!dnych biegunowych...................................................292
Trójwymiarowy układ współrz!dnych cylindrycznych................................................293
Trójwymiarowy układ współrz!dnych sferycznych......................................................293
Liczby stałoprzecinkowe...............................................................................................294
Stałe matematyczne.............................................................................................................295
Makrodefinicje i funkcje rozwijane w miejscu wywołania.................................................297
Funkcje u>ytkowe i funkcje konwersji..........................................................................301
Funkcje manipulujce punktami i wektorami...............................................................301
Macierze........................................................................................................................302
Kwaterniony..................................................................................................................304
Obliczenia stałoprzecinkowe.........................................................................................304
Prototypy..............................................................................................................................305
Zmienne globalne ................................................................................................................308
Interfejs programowy modułu matematycznego.................................................................308
Funkcje trygonometryczne............................................................................................309
Funkcje obsługi ró>nych układów współrz!dnych........................................................310
Funkcje obsługi wektorów.............................................................................................313
Funkcje operujce na macierzach..................................................................................321
Funkcje operujce parametryczn reprezentacj prostych
na płaszczyDnie i w przestrzeni trójwymiarowej........................................................333
Funkcje obsługi płaszczyzn trójwymiarowych..............................................................337
Funkcje obsługi kwaternionów......................................................................................341
Funkcje oblicze+ stałoprzecinkowych...........................................................................350
Funkcje rozwizujce równania macierzowe................................................................355
Elementarz arytmetyki zmiennoprzecinkowej z wykorzystaniem koprocesora..................357
Architektura jednostki zmiennoprzecinkowej...............................................................358
Stos jednostki zmiennoprzecinkowej............................................................................359
Zestaw instrukcji jednostki FPU....................................................................................361
Klasyczny tryb adresowania operandów.......................................................................364
Tryb adresowania operandów z odwołaniem do pami!ci.............................................364
Tryb adresowania operandów z odwołaniem do rejestru..............................................365
Adresowanie operandów ze zdj!ciem operandu ze stosu..............................................365
Przykłady zastosowania instrukcji jednostki FPU.........................................................366
Instrukcje FLD...............................................................................................................366
Instrukcje FST...............................................................................................................367
Instrukcje FADD...........................................................................................................368
Instrukcje FSUB............................................................................................................371
Instrukcje FMUL...........................................................................................................372
Instrukcje FDIV.............................................................................................................373
Stosowanie modułu matematycznego — uwagi..................................................................374
Nowy szablon aplikacji.................................................................................................375
Słowo o optymalizacji modułu............................................................................................375
Podsumowanie.....................................................................................................................376
Zgłoś jeśli naruszono regulamin