DirectX_Rendering_w_czasie_rzeczywistym_dxrzec.pdf
(
706 KB
)
Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
DirectX. Rendering
w czasie rzeczywistym
Autor: Kelly Dempski
T³umaczenie: Rados³aw Meryk (wstêp, rozdz. 1 – 25,
37 – 40, dod. A), Krzysztof Jurczyk (rozdz. 26 – 36)
ISBN: 83-7361-120-7
Tytu³ orygina³u:
Real-Time Rendering
Tricks and Techniques in DirectX
Format: B5, stron: 688
W ci¹gu kilku ostatnich lat przetwarzanie grafiki w czasie rzeczywistym osi¹gnê³o stopieñ
najwy¿szego zaawansowania. Obecnie powszechnie dostêpne s¹ procesory przetwarzania
grafiki, które dorównuj¹ szybko ci¹ i mo¿liwo ciami najdro¿szym stacjom graficznym
sprzed zaledwie kilku lat.
Je¿eli jeste gotów na pog³êbienie swojej wiedzy na temat programowania grafiki, siêgnij
po tê ksi¹¿kê. Opisuje ona zaawansowane zagadnienia w taki sposób, ¿e nawet
pocz¹tkuj¹cy przyswajaj¹ je ³atwo. Czytelnicy, którzy bêd¹ studiowaæ tê ksi¹¿kê od
pocz¹tku i dok³adnie j¹ przeanalizuj¹, nie powinni mieæ problemu z nauczeniem siê coraz
bardziej skomplikowanych technik. Czytelnicy zaawansowani mog¹ wykorzystywaæ tê
ksi¹¿kê jako u¿yteczne ród³o informacji, przeskakuj¹c od rozdzia³u do rozdzia³u, wtedy
kiedy maj¹ potrzebê nauczenia siê lub dok³adniejszego poznania wybranych problemów.
Ksi¹¿ka zawiera:
• Powtórzenie wiadomo ci o wektorach i macierzach
• Omówienie zagadnieñ zwi¹zanych z o wietleniem
• Opis potoków graficznych
• Opis konfiguracji rodowiska
• Sposoby korzystania z DirectX
• Dok³adne omówienie renderingu
• Opis sposobów nak³adania tekstur
• Problemy zwi¹zane z przezroczysto ci¹
• Opis technik vertex shader i pixel shader
• Zasady tworzenia cieni przestrzennych
• Sposoby tworzenia animowanych postaci
... i wiele innych zaawansowanych technik, u¿ywanych przez profesjonalnych programistów.
Towarzysz¹ jej cenne dodatki na CD (m.in. Microsoft DirectX® 8.1 SDK, wersja
demonstracyjna przegl¹darki efektów NVidia®, program do zrzutów video — VirtualDub,
wersja demonstracyjna programu trueSpace firmy Caligari®)
Niezale¿nie od Twojego programistycznego do wiadczenia, ksi¹¿ka ta mo¿e pos³u¿yæ Ci
jako przewodnik pozwalaj¹cy na osi¹gniêcie mistrzostwa w wykorzystaniu mo¿liwo ci
programowania grafiki w czasie rzeczywistym.
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorze ..............................................................................................15
Od wydawcy serii...................................................................................17
Słowo wstępne ......................................................................................19
Wstęp ...................................................................................................21
Część I
Podstawy ........................................................................... 23
Rozwój sprzętu klasy PC ..........................................................................................................25
Rozwój konsol do gier ..............................................................................................................26
Rozwój technik filmowych .......................................................................................................27
Krótka historia DirectX.............................................................................................................27
Kilka słów na temat OpenGL....................................................................................................28
Rozdział 1. Grafika 3D. Rys historyczny ....................................................................25
Rozdział 2. Powtórzenie wiadomości o wektorach ....................................................31
Czym jest wektor?.....................................................................................................................31
Normalizacja wektorów ............................................................................................................32
Arytmetyka wektorów...............................................................................................................33
Iloczyn skalarny wektorów .......................................................................................................34
Iloczyn wektorowy wektorów...................................................................................................35
Kwaterniony..............................................................................................................................37
Działania na wektorach w bibliotece D3DX ..............................................................................37
Podsumowanie ..........................................................................................................................39
Rozdział 3. Powtórzenie wiadomości o macierzach ....................................................41
Co to jest macierz?....................................................................................................................41
Macierz przekształcenia to samościowego ..............................................................................43
Macierz translacji (przesunięcia) ..............................................................................................43
Macierz skalowania...................................................................................................................44
Macierz obrotu ..........................................................................................................................44
Łączenie macierzy.....................................................................................................................45
Macierze a biblioteka D3DX ....................................................................................................46
Podsumowanie ..........................................................................................................................47
Rozdział 4. Kilka słów o kolorach i oświetleniu ........................................................49
Czym jest kolor? .......................................................................................................................49
Oświetlenie otaczające i emisyjne ............................................................................................51
Oświetlenie rozpraszające.........................................................................................................52
Oświetlenie zwierciadlane ........................................................................................................53
Pozostałe rodzaje światła ..........................................................................................................54
6
DirectX. Rendering w czasie rzeczywistym
Uwzględnianie wszystkich rodzajów oświetlenia w Direct3D.................................................55
Rodzaje cieniowania .................................................................................................................57
Podsumowanie ..........................................................................................................................58
Rozdział 5. Kilka słów o potoku graficznym ..............................................................59
Potok Direct3D .........................................................................................................................60
Wierzchołki oraz powierzchnie wy szego rzędu......................................................................60
Faza stałych funkcji transformacji oraz oświetlenia .................................................................61
Mechanizmy vertex shader .......................................................................................................62
Mechanizm obcinający .............................................................................................................63
Multiteksturowanie ...................................................................................................................63
Mechanizmy pixel shader .........................................................................................................63
Mgła ..........................................................................................................................................64
Testy głębi, matrycy oraz kanału alfa .......................................................................................64
Bufor ramek ..............................................................................................................................65
Zagadnienia związane z wydajnością .......................................................................................65
Podsumowanie ..........................................................................................................................66
Część II
Tworzymy szkielet .............................................................. 69
Kilka słów o SDK .....................................................................................................................71
Konfiguracja środowiska ..........................................................................................................72
Prosta aplikacja Win32 .............................................................................................................73
Plik Wykonywalny.h ..........................................................................................................74
Plik Aplikacja.h ..................................................................................................................75
Plik Wykonywalny.cpp.......................................................................................................76
Plik Aplikacja.cpp...............................................................................................................77
Kompilacja i uruchamianie prostej aplikacji ............................................................................79
Analiza. Dlaczego to zrobiliśmy w taki sposób? ......................................................................80
Podsumowanie ..........................................................................................................................81
Rozdział 6. Konfiguracja środowiska i prosta aplikacja Win32 ..................................71
Rozdział 7. Tworzenie i zarządzanie urządzeniem Direct3D ........................................83
Czym jest urządzenie Direct3D?...............................................................................................83
Krok 1: Tworzymy obiekt Direct3D.........................................................................................84
Krok 2: Dowiadujemy się czegoś więcej na temat sprzętu.......................................................85
Krok 3: Utworzenie urządzenia Direct3D ................................................................................86
Krok 4: Odtworzenie utraconego urządzenia............................................................................88
Krok 5: Zniszczenie urządzenia................................................................................................89
Rendering z wykorzystaniem urządzenia Direct3D..................................................................89
Zerowanie urządzenia ...............................................................................................................90
Wracamy do pliku Aplikacja.h .................................................................................................91
Wracamy do pliku Aplikacja.cpp..............................................................................................93
Podsumowanie ........................................................................................................................100
Część III Rozpoczynamy renderowanie............................................. 101
Rozdział 8. Wszystko rozpoczyna się od wierzchołków............................................103
Czym są wierzchołki? .............................................................................................................103
Czym tak naprawdę są wierzchołki?.......................................................................................104
Tworzenie wierzchołków........................................................................................................106
Niszczenie bufora wierzchołków ............................................................................................107
Konfiguracja i modyfikacja danych o wierzchołkach.............................................................108
Renderowanie wierzchołków..................................................................................................109
Spis treści
7
Zagadnienia związane z wydajnością .....................................................................................111
Nareszcie coś na ekranie!........................................................................................................112
Podsumowanie ........................................................................................................................117
Rozdział 9. Zastosowanie transformacji .................................................................119
Co to są transformacje?...........................................................................................................119
Transformacje świata ..............................................................................................................120
Transformacje widoku ............................................................................................................121
Tworzenie transformacji świata i transformacji widoku.........................................................121
Rzuty .......................................................................................................................................123
Przekształcenia a urządzenie D3D..........................................................................................124
Zastosowanie stosu macierzy..................................................................................................126
Widok ekranu..........................................................................................................................127
Łączymy to razem...................................................................................................................128
Zalecane ćwiczenia .................................................................................................................132
Zagadnienia związane z wydajnością .....................................................................................133
Podsumowanie ........................................................................................................................133
Rozdział 10. Od wierzchołków do figur .....................................................................135
Przekształcanie wierzchołków w powierzchnie......................................................................135
Renderowanie powierzchni.....................................................................................................136
Renderowanie z wykorzystaniem list trójkątów...............................................................137
Renderowanie z wykorzystaniem wachlarzy trójkątów ...................................................138
Renderowanie z wykorzystaniem pasków trójkątów .......................................................138
Renderowanie z zastosowaniem prymitywów indeksowanych........................................139
Ładowanie i renderowanie plików .X .....................................................................................141
Problemy wydajności..............................................................................................................143
Kod..........................................................................................................................................144
Podsumowanie ........................................................................................................................155
Rozdział 11. Oświetlenie z wykorzystaniem funkcji wbudowanych .............................157
Struktura D3DLIGHT8 ...........................................................................................................157
Światła kierunkowe ..........................................................................................................158
Światła punktowe..............................................................................................................159
Światła reflektorowe.........................................................................................................160
Konfiguracja oświetlenia w urządzeniu D3D .........................................................................162
Program...................................................................................................................................163
Kod..........................................................................................................................................165
Podsumowanie ........................................................................................................................176
Rozdział 12. Wprowadzenie do tekstur.....................................................................177
Tekstury od środka..................................................................................................................177
Powierzchnie i pamięć......................................................................................................178
Rozmiar a potęga dwójki ..................................................................................................179
Poziomy powierzchni i mipmapy .....................................................................................179
Tworzenie tekstur....................................................................................................................180
Tekstury i wierzchołki ............................................................................................................183
Tekstury i urządzenie ..............................................................................................................185
Problemy związane z wydajnością .........................................................................................185
Zagadnienia zaawansowane....................................................................................................186
Tekstury i kolory...............................................................................................................186
Macierz tekstury ...............................................................................................................187
Wielokrotne teksturowanie — multiteksturowanie ..........................................................187
Program...................................................................................................................................187
Podsumowanie ........................................................................................................................196
8
DirectX. Rendering w czasie rzeczywistym
Rozdział 13. Stany faz tekstur .................................................................................199
Ustawianie stanu fazy tekstury ...............................................................................................200
Łączenie tekstur i multiteksturowanie ....................................................................................200
D3DTSS_COLOROP i D3DTSS_ALPHAOP.................................................................201
D3DTSS_COLORARG1, D3DTSS_COLORARG2,
D3DTSS_ALPHAARG1 i D3DTSS_ALPHAARG2 ................................................201
Operacje trójargumentowe (D3DTSS_COLORARGO
i D3DTSS_ALPHAARGO) ......................................................................................202
D3DTSS_RESULTARG ..................................................................................................202
Sprawdzanie mo liwości urządzenia................................................................................202
Odwzorowania nierówności (ang. bump mapping) ................................................................203
Stany dotyczące współrzędnych tekstury ...............................................................................203
D3DTSS_TEXTCOORDINDEX .....................................................................................203
D3DTSS_ADDRESSU, D3DTSS_ADDRESSV i D3DTSS_ADDRESSW ...................203
D3DTSS_BORDERCOLOR............................................................................................205
D3DTS_TEXTURETRANSFORMFLAGS.....................................................................205
Sprawdzanie mo liwości urządzenia................................................................................205
Filtrowanie tekstury i mipmapy ..............................................................................................205
D3DTSS_MAGFILTER...................................................................................................206
D3DTSS_MINFILTER ....................................................................................................207
D3DTSS_MIPFILTER .....................................................................................................207
D3DTSS_MIPMAPLODBIAS.........................................................................................207
D3DTSS_MAXMIPLEVEL.............................................................................................207
D3DTSS_MAXANISOTROPY .......................................................................................207
Sprawdzanie mo liwości urządzenia................................................................................208
Stany faz tekstur, a mechanizmy shader .................................................................................208
Kod..........................................................................................................................................208
Podsumowanie ........................................................................................................................215
Rozdział 14. Testowanie głębi i przezroczystość.......................................................217
Testowanie głębi .....................................................................................................................217
Bufor W ............................................................................................................................219
Przesunięcie Z...................................................................................................................219
Zerowanie bufora głębi.....................................................................................................220
Przezroczystość.......................................................................................................................220
Wartość alfa w plikach formatu 32-bitowego ..................................................................220
Kanał alfa wygenerowany za pomocą programu DirectX Texture Tool..........................221
Kanał alfa określony za pomocą parametru KluczKoloru................................................221
Włączanie przezroczystości..............................................................................................222
Test alfa...................................................................................................................................222
Problemy wydajności..............................................................................................................223
Kod..........................................................................................................................................223
Podsumowanie ........................................................................................................................231
Część IV Mechanizmy shader .......................................................... 233
Rozdział 15. Mechanizmy vertex shader...................................................................235
Co to jest vertex shader? .........................................................................................................236
Rejestry danych o wierzchołkach .....................................................................................237
Rejestry stałych.................................................................................................................238
Rejestr adresowy...............................................................................................................238
Rejestry tymczasowe ........................................................................................................238
Wynik działania mechanizmów vertex shader .................................................................238
Kod mechanizmów shader ......................................................................................................239
Plik z chomika:
Ksiazki_20
Inne pliki z tego folderu:
Aplikacje_Direct3D_adir81.pdf
(1374 KB)
Projektowanie_gier_3D_Wprowadzenie_do_technologii_DirectX_11_wprg3d.pdf
(1342 KB)
DirectX_Rendering_w_czasie_rzeczywistym_dxrzec.pdf
(706 KB)
Visual_Basic_i_DirectX_Programowanie_gier_w_Windows_vbdirx.pdf
(460 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin