Projektowanie gier 3D Wprowadzenie do technologii DirectX 11.pdf

(1342 KB) Pobierz
Tytuł oryginału: Introduction to 3D Game Programming with DirectX 11
Tłumaczenie: Krzysztof Wołowski
ISBN: 978-83-246-7474-9
Translation Copyright © 2014 HELION SA
Original Copyright © 2012 by Mercury Learning and Information LLC. All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording or by
any information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za
związane z tym ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie
ponosi również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/wprg3d.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/wprg3d
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
S
PIS TREŚCI
Podziękowania .................................................................................... 19
Wstęp .................................................................................................... 21
Docelowy odbiorca .............................................................................................22
Wymagana wiedza ..............................................................................................22
Potrzebne narzędzia programistyczne i sprzęt ...............................................23
Biblioteka D3DX .................................................................................................23
Dokumentacja SDK i przykładowe aplikacje ..................................................23
Czytelność ............................................................................................................25
Przykładowe programy i dodatkowe źródła online .......................................26
Przygotowanie projektu aplikacji w Visual Studio 2010 ...............................26
Tworzenie projektu Win32 ....................................................................26
Dołączanie bibliotek DirectX .................................................................27
Ustawianie ścieżek wyszukiwania .........................................................28
Wprowadzanie kodu źródłowego i budowa projektu ........................30
CZĘŚĆ I
Rozdział 1.
PODSTAWY MATEMATYCZNE
Algebra wektorów ............................................................................... 35
1.1. Wektory ....................................................................................................35
1.1.1. Wektory i układy współrzędnych ............................................36
1.1.2. Lewo- i praworęczne układy współrzędnych .........................38
1.1.3. Podstawowe działania na wektorach .......................................38
1.2. Długość i wektory jednostkowe .............................................................40
1.3. Iloczyn skalarny .......................................................................................42
1.3.1. Ortogonalizacja ..........................................................................44
1.4. Iloczyn wektorowy ..................................................................................46
1.4.1. Pseudoiloczyn wektorowy dla przestrzeni
dwuwymiarowych ......................................................................47
1.4.2. Ortogonalizacja z iloczynem wektorowym ............................47
1.5. Punkty .......................................................................................................48
1.6. Wektory XNA Math ................................................................................49
1.6.1. Typy wektorowe .........................................................................50
1.6.2. Metody ładujące i metody zapisujące .....................................51
1.6.3. Przekazywanie argumentów .....................................................52
1.6.4. Stałe wektorowe .........................................................................53
1.6.5. Przeciążone operatory ...............................................................54
1.6.6. Przydatne funkcje ......................................................................54
1.6.7. Funkcje ustawiające ...................................................................55
5
Kup książkę
Poleć książkę
6
P
ROJEKTOWANIE GIER
3D. W
PROWADZENIE DO TECHNOLOGII
D
IRECT
X 11
1.7.
1.8.
Rozdział 2.
1.6.8. Funkcje wektorowe ....................................................................56
1.6.9. Błąd obliczeń zmiennoprzecinkowych ...................................59
Podsumowanie .........................................................................................60
Ćwiczenia ..................................................................................................61
Algebra macierzy ................................................................................. 65
2.1. Definicja ....................................................................................................65
2.2. Mnożenie macierzy .................................................................................67
2.2.1. Definicja ......................................................................................67
2.2.2. Mnożenie macierzy przez wektor ............................................68
2.2.3. Łączność ......................................................................................69
2.3. Macierz transponowana .........................................................................69
2.4. Macierz jednostkowa ..............................................................................70
2.5. Wyznacznik macierzy .............................................................................71
2.5.1. Macierze zredukowane .............................................................72
2.5.2. Definicja ......................................................................................72
2.6. Macierz dołączona ...................................................................................74
2.7. Macierz odwrotna ....................................................................................74
2.8. Macierze XNA ..........................................................................................76
2.8.1. Typy macierzowe .......................................................................76
2.8.2. Funkcje macierzowe ..................................................................78
2.8.3. Przykładowy program z macierzami XNA ............................78
2.9. Podsumowanie .........................................................................................80
2.10. Ćwiczenia ..................................................................................................81
Przekształcenia .................................................................................... 85
3.1. Przekształcenia liniowe ...........................................................................85
3.1.1. Definicja ......................................................................................85
3.1.2. Reprezentacja macierzowa .......................................................86
3.1.3. Skalowanie ..................................................................................87
3.1.4. Obrót ...........................................................................................89
3.2. Przekształcenia afiniczne ........................................................................91
3.2.1. Współrzędne jednorodne .........................................................91
3.2.2. Definicja i reprezentacja macierzowa .....................................92
3.2.3. Przesunięcie ................................................................................93
3.2.4. Macierze afiniczne dla skalowania i obrotu ...........................95
3.2.5. Interpretacja geometryczna macierzy
przekształcenia afinicznego ......................................................95
3.3. Składanie przekształceń ..........................................................................97
3.4. Przekształcenia zamiany współrzędnych .............................................98
3.4.1. Wektory .......................................................................................99
3.4.2. Punkty .......................................................................................100
3.4.3. Reprezentacja macierzowa .....................................................101
3.4.4. Łączność i macierze zamiany współrzędnych ......................102
3.4.5. Macierze odwrotne i macierze zamiany współrzędnych ....102
3.5. Macierz przekształcenia kontra macierz zamiany współrzędnych .....103
3.6. Funkcje przekształcające XNA Math ..................................................105
3.7. Podsumowanie .......................................................................................106
3.8. Ćwiczenia ................................................................................................107
Rozdział 3.
Kup książkę
Poleć książkę
S
PIS TREŚCI
7
CZĘŚĆ II
Rozdział 4.
PODSTAWY DIRECT3D
Inicjalizacja Direct3D ........................................................................ 115
4.1. Uwagi wstępne .......................................................................................115
4.1.1. Przegląd Direct3D ...................................................................115
4.1.2. Technologia COM ...................................................................116
4.1.3. Tekstury i formaty zasobów ...................................................116
4.1.4. Łańcuch wymiany i stronicowanie ........................................117
4.1.5. Buforowanie głębokości ..........................................................118
4.1.6. Widoki zasobów tekstury .......................................................121
4.1.7. Teoria wielokrotnego próbkowania ......................................122
4.1.8. Wielokrotne próbkowanie w Direct3D ................................124
4.1.9. Możliwości sprzętu ..................................................................124
4.2. Inicjalizacja Direct3D ...........................................................................125
4.2.1. Tworzenie urządzenia i kontekstu .........................................126
4.2.2. Sprawdzenie obsługiwanego poziomu jakości
antyaliasingu z 4-krotnym próbkowaniem ..........................128
4.2.3. Opis łańcucha wymiany ..........................................................129
4.2.4. Tworzenie łańcucha wymiany ...............................................130
4.2.5. Tworzenie widoku celu renderowania ..................................131
4.2.6. Tworzenie bufora i widoku głębokości/szablonu ................132
4.2.7. Powiązanie widoków z etapem łączenia wyników ..............135
4.2.8. Ustawienie okna widoku .........................................................135
4.3. Czas i animacja ......................................................................................137
4.3.1. Licznik wydajności ..................................................................137
4.3.2. Klasa GameTimer ....................................................................138
4.3.3. Okresy między klatkami .........................................................139
4.3.4. Czas całkowity ..........................................................................140
4.4. Szkielet przykładowych aplikacji .........................................................143
4.4.1. D3DApp ....................................................................................144
4.4.2. Metody niezwiązane ze szkieletem ........................................145
4.4.3. Metody szkieletu ......................................................................146
4.4.4. Statystyki klatek ........................................................................147
4.4.5. Obsługa komunikatów ............................................................148
4.4.6. Tryb pełnoekranowy ...............................................................150
4.4.7. Aplikacja „Init Direct3D” .......................................................151
4.5. Wykrywanie błędów w aplikacjach Direct3D ...................................152
4.6. Podsumowanie .......................................................................................154
4.7. Ćwiczenia ................................................................................................155
Potok renderowania .......................................................................... 159
5.1. Złudzenie trójwymiarowości ...............................................................159
5.2. Reprezentacja modelu ...........................................................................162
5.3. Kolory w grafice komputerowej ..........................................................163
5.3.1. Działania na kolorach .............................................................165
5.3.2. Kolor 128-bitowy .....................................................................165
5.3.3. Kolor 32-bitowy .......................................................................166
5.4. Etapy potoku renderowania .................................................................168
5.5. Etap zbierania danych ...........................................................................168
Rozdział 5.
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin