perelki-programowania-gier.-vademecum-profesjonalisty.-tom-2 ebook.pdf

(15731 KB) Pobierz
887792607.001.png
4
Rozdział 1.5 / #* "-..
$0#!#'#$*!* #!$
Łczenie jawne i niejawne.....................................................................................................66
Funkcje LoadLibrary i GetProcAddress................................................................................66
Obrona przed błdnymi bibliotekami DirectX ......................................................................67
Funkcje specyficzne dla systemu operacyjnego....................................................................68
Podsumowanie.......................................................................................................................69
Rozdział 1.6 -!##$!
Wprowadzenie do klasy dynamicznej informacji o typie......................................................71
Demaskowanie typu i odpytywanie DTI ...............................................................................72
Dziedziczenie oznacza „jest typu”.........................................................................................73
Obsługa ogólnych obiektów ..................................................................................................74
Implementacja trwałej informacji o typie..............................................................................75
Zastosowanie trwałej informacji o typie w bazie danych zapisów stanu gry........................77
Wnioski..................................................................................................................................77
Bibliografia............................................................................................................................78
Rozdział 1.7 1"*2#2#3"$0#"!*
#"*%&&(
Kod.........................................................................................................................................80
Inne mo*liwe wykorzystania klas..........................................................................................82
Bibliografia............................................................................................................................83
Rozdział 1.8 4!$*5
Komponenty...........................................................................................................................86
Klasy waga piórkowa, zachowa@ i eksportowa.....................................................................86
Obiekty wagi piórkowej.........................................................................................................86
SAMM-y, gdzie jesteB?..........................................................................................................87
Hierarchia klas zachowa@......................................................................................................88
Wykorzystanie wzorca szablonu metod w przypisywaniu zachowa@...................................89
Klasy eksportowe...................................................................................................................90
Fabryka jednostek..................................................................................................................91
Wybór strategii w trakcie działania programu.......................................................................92
Uwagi ko@cowe .....................................................................................................................94
Bibliografia............................................................................................................................94
Rozdział 1.9 -"*!$0#$"#!#'#$#'%&&(
Mo*liwe rozwizania.............................................................................................................95
Idealne rozwizanie ...............................................................................................................96
U*ywanie i przypisywanie niezalecanych funkcji.................................................................96
Implementacja niezalecania funkcji w C++...........................................................................97
Co mo*na poprawi+? .............................................................................................................98
Podzikowania.......................................................................................................................98
Bibliografia............................................................................................................................98
Rozdział 1.10 63 # #! !*!((
Zaczynamy.............................................................................................................................99
Rejestracja informacji w mened*erze..................................................................................100
Raportowanie zebranych informacji....................................................................................102
O czym nale*y pamita+......................................................................................................104
Mo*liwe rozszerzenia ..........................................................................................................105
Bibliografia..........................................................................................................................105
Rozdział 1.11 6 "$0#!!7
Podstawy profilowania programów.....................................................................................107
Komercyjne narzdzia .........................................................................................................108
Czemu utworzy+ własny system?........................................................................................109
Wymagania dotyczce modułu profilujcego......................................................................109
Architektura i implementacja...............................................................................................110
Szczegóły implementacji.....................................................................................................111
Analiza danych ....................................................................................................................111
Uwagi dotyczce implementacji..........................................................................................112
Rozdział 1.12 6" "#'*!**
Aktualizacja Bwiata..............................................................................................................113
Rozwizanie — wielowtkowoB+........................................................................................114
Bibliografia..........................................................................................................................117
Rozdział 1.13 8$** (
Prosty tymczasowy powrót..................................................................................................119
Ła@cuchy tymczasowych powrotów....................................................................................120
Thunking..............................................................................................................................122
Rekurencja ...........................................................................................................................123
Rozdział 1.14 9!$0#!*:
Zasady kodu RAM...............................................................................................................125
Szybkie przekształcanie i kopiowanie bitów.......................................................................126
Rozdział 1.15 /0 "!!* "*
Czym jest plik zasobów? .....................................................................................................133
Projekt..................................................................................................................................134
Implementacja......................................................................................................................135
Ostatnie słowa na temat implementacji ...............................................................................137
Wnioski................................................................................................................................137
Bibliografia..........................................................................................................................137
Rozdział 1.16 $*$2;! (
Do czego mo*e si przyda+ rejestracja wejB+?....................................................................139
Ile to zajmie?........................................................................................................................141
Testowanie rejestracji wejBcia .............................................................................................145
Wnioski................................................................................................................................145
Bibliografia..........................................................................................................................145
Rozdział 1.17 ,"*!#!*!*"!*$*+
System analizy składniowej.................................................................................................148
Makra, nagłówki i magia wczeBniejszego przetwarzania....................................................148
WyjaBnienie systemu analizy składniowej ..........................................................................149
Klasa TokenFile...................................................................................................................152
Uwagi ko@cowe ...................................................................................................................153
Rozdział 1.18 <$**"!2#!#'
Analiza wymaga@ ................................................................................................................155
Implementacja......................................................................................................................156
U*ycie..................................................................................................................................160
Uwagi...................................................................................................................................162
Podzikowania.....................................................................................................................162
Rozdział 1.19 =#$#!2#"*!#'"#
PseudolosowoB+...................................................................................................................163
Rzeczywista losowoB+ .........................................................................................................164
6
Iródła losowych wartoBci....................................................................................................164
Iródła sprztowe..................................................................................................................165
Funkcja mieszajca..............................................................................................................165
Ograniczenia........................................................................................................................166
Implementacja......................................................................................................................166
Jak losowe wartoBci uzyskujemy z GenRand? ....................................................................167
Bibliografia..........................................................................................................................168
Rozdział 1.20 !!*""
!$2#"#$(
Sposób Blooma....................................................................................................................169
Mo*liwe zastosowania.........................................................................................................170
Jak to działa?........................................................................................................................170
Definicje...............................................................................................................................170
Pierwszy przykład................................................................................................................171
Drugi przykład.....................................................................................................................175
Uwagi ko@cowe ...................................................................................................................175
Wnioski................................................................................................................................176
Bibliografia..........................................................................................................................176
Rozdział 1.21 6* $0#! *# -96>
!#0##$
Eksport.................................................................................................................................178
Bibliografia..........................................................................................................................187
Rozdział 1.22 !!*!#'#'5(
Inicjalizacja okna przechwytywania danych z kamery........................................................189
Manipulacja danymi z kamery.............................................................................................194
Wnioski................................................................................................................................197
Bibliografia..........................................................................................................................198
:7
Rozdział 2.1 9#"# #!
? !$2#*<,,,:7
Wprowadzenie .....................................................................................................................203
Format IEEE liczb zmiennoprzecinkowych ........................................................................204
Sztuczki liczb zmiennoprzecinkowych................................................................................205
Liniowa tablica przegldowa dla funkcji sinus i kosinus ....................................................210
Optymalizacja logarytmiczna pierwiastka kwadratowego ..................................................212
Optymalizacja dowolnych funkcji.......................................................................................213
Mierzenie wydajnoBci..........................................................................................................216
Wnioski................................................................................................................................217
Bibliografia..........................................................................................................................217
Rozdział 2.2 9# *#!:(
WysokoB+ wzgldem płaszczyzny kolizji............................................................................219
Szukanie punktu kolizji .......................................................................................................220
OdległoB+ do punktu zderzenia............................................................................................221
Odbicie od płaszczyzny kolizji............................................................................................222
Zderzenia z tłumieniem .......................................................................................................225
Interpolacja w poprzek linii lub płaszczyzny ......................................................................225
Rozdział 2.3 9!"*!# #$!!#'"::
Co czyni ten algorytm elastycznym?...................................................................................228
Sformułowanie problemu ....................................................................................................228
Wyprowadzenie równa@ zwizłego rozwizania.................................................................230
Obsługa odcinków ...............................................................................................................236
Opis implementacji..............................................................................................................239
Mo*liwoBci optymalizacji....................................................................................................239
Wnioski................................................................................................................................240
Bibliografia..........................................................................................................................240
Rozdział 2.4 2"$$:+
Szczególne przypadki ..........................................................................................................243
Optymalizacja implementacji ..............................................................................................248
Podsumowanie.....................................................................................................................249
Rozdział 2.5 )* ":
Metoda .................................................................................................................................252
Wnioski................................................................................................................................255
Bibliografia..........................................................................................................................255
Rozdział 2.6 =2#3% $0##':
Wprowadzenie .....................................................................................................................257
Interpolacja poło*enia..........................................................................................................258
Interpolacja obrotu...............................................................................................................259
Kierunek obrotu i selektywna negacja.................................................................................260
Interpolacja krzywymi sklejanymi dla kwaternionów.........................................................261
OsobliwoBci w wymiernym przekształceniu .......................................................................262
Cicia kamery ......................................................................................................................262
Kod.......................................................................................................................................263
Bibliografia..........................................................................................................................263
Rozdział 2.7 )#!$ !
?*!"!#$@:
Inne zastosowania................................................................................................................266
Słaby punkt algorytmu.........................................................................................................270
Znajdowanie par bdcych w kolizji ...................................................................................271
Zło*onoB+ czasowa ..............................................................................................................273
Wnioski................................................................................................................................274
Bibliografia..........................................................................................................................274
Rozdział 2.8 ":
Fraktal plazmowy ................................................................................................................276
Fraktal błdny ......................................................................................................................276
Fraktal ruchu Browna ..........................................................................................................277
Implementacja......................................................................................................................278
Wykorzystanie FBM............................................................................................................281
Bibliografia..........................................................................................................................282
!"
:5
Rozdział 3.1 9 !"#$*#$"#$:5
Strategia 1.: U*ywaj zachowania sterowanego zdarzeniami, a nie odpytywania................287
Strategia 2.: Redukuj niepotrzebne obliczenia ....................................................................288
Strategia 3.: Centralizuj współdziałanie za pomoc zarzdców..........................................289
Zgłoś jeśli naruszono regulamin