Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11
- Autor: :
- Frank Luna
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.4/6 Opinie: 5
- Stron:
- 856
- Druk:
- oprawa twarda
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11
Poznaj możliwości DirectX!
DirectX to zestaw funkcji wspierających tworzenie zaawansowanej grafiki w systemie Windows. Historia tego dodatku sięga roku 1995, kiedy po wprowadzeniu na rynek systemu Windows 95 programiści tworzący gry z dużym oporem rozstawali się z systemem DOS. Od tego czasu DirectX jest nieustannie rozwijany, a gry i trójwymiarowe animacje tworzone z wykorzystaniem najnowszej wersji zapierają dech w piersiach. Jeżeli chcesz poznać możliwości tego dodatku i wykorzystać jego potencjał, to trafiłeś na doskonałą publikację!
Żadna inna nie omawia w tak szczegółowy sposób zagadnień związanych z tworzeniem grafiki i animacji przy użyciu DirectX. Książka została podzielona na trzy części. Pierwsza pozwoli Ci zdobyć podstawową wiedzę na temat fundamentów grafiki trójwymiarowej. Nauczysz się lub przypomnisz sobie, jak prowadzić działania na wektorach, przekształcać te wektory i stosować macierze. W części drugiej szczególny nacisk został położony na poznanie Direct3D. Dowiesz się, jak zainicjalizować system, nanosić tekstury oraz cieniować obiekty. Część trzecia zawiera mnóstwo przydatnych informacji na temat widoku pierwszej osoby, prowadzenia kamery, systemu cząstek, zaawansowanego mapowania oraz animowania. Książka ta jest obowiązkową lekturą każdego programisty zajmującego się grafiką 3D!
Dzięki tej książce:
- poznasz fundamenty grafiki 3D — wektory, macierze i ich przekształcenia
- zaznajomisz się z dostępnymi funkcjami oraz sposobem pracy z Direct3D
- dowiesz się, jak korzystać z tekstur i cieni
- wykorzystasz system cząstek
- poznasz potencjał DirectX
Zbuduj wirtualny świat za pomocą DirectX!
Wprowadzenie do programowania gier 3D z DirectX 11 to uaktualniona wersja znanego bestsellera będąca wprowadzeniem do programowania interaktywnej grafiki komputerowej, ze szczególnym uwzględnieniem tworzenia gier przy użyciu Direct3D 11. Książka składa się z trzech głównych części: podstawowych zagadnień matematycznych, głównych zastosowań Direct3D oraz technik i efektów specjalnych. Opisano w niej takie nowości w Direct3D 11, jak teselacja sprzętowa, shader obliczeniowy czy zaawansowane techniki renderowania — między innymi okluzję otoczenia, odbicia w czasie rzeczywistym, mapowanie normalnych i przemieszczeń, renderowanie cieni, programowanie shaderów geometrii, systemy cząsteczek i animację postaci.
WEJDŹ W ŚWIAT DIRECTX 11
- Poznaj nowe możliwości Direct3D 11, między innymi teselację sprzętową i shader obliczeniowy.
- Poznaj podstawy renderowania 3D, takie jak oświetlanie, nakładanie tekstur, mieszanie kolorów i szablonowanie.
- Opanuj zaawansowane techniki renderowania — okluzję otoczenia, odbicia w czasie rzeczywistym, mapowanie normalnych i przemieszczeń, renderowanie cieni, programowanie shaderów geometrii, systemy cząsteczek, animację postaci oraz wiele innych.
- Ćwiczenia na końcu każdego rozdziału pomogą utrwalić zdobytą wiedzę, umożliwiając pracę bezpośrednio z DirectX 11.
ZAWARTOŚĆ
Część 1. — Podstawy matematyczne. Algebra wektorów. Algebra macierzy. Przekształcenia.
Część 2. — Podstawy Direct3D. Inicjalizacja Direct3D. Potok renderowania. Rysowanie w Direct3D. Oświetlenie. Tekstury Mieszanie kolorów. Szablonowanie. Cieniowanie geometrii. Shader obliczeniowy. Etapy teselacji.
Część 3. — Tematy. Kamera pierwszej osoby. Instancjonowanie i usuwanie powierzchni poza ostrosłupem widzenia. Wskazywanie obiektów. Mapowanie sześcienne. Mapowanie normalnych i mapowanie przemieszczeń. Renderowanie terenu. Systemy cząsteczek i wyjście strumieniowe. Mapowanie cieni. Okluzja otoczenia. Siatki. Kwaterniony. Animacja postaci. Dodatki. Wprowadzenie do programowania Windows. Język HLSL. Wybrane zagadnienia geometrii analitycznej. Rozwiązania ćwiczeń. Bibliografia. Indeks.
O AUTORZE
Frank D. Luna zajmuje się programowaniem interaktywnej grafiki 3D od ponad dziesięciu lat, począwszy od wersji DirectX 5. Jest autorem trzech bestsellerów na temat DirectX a obecnie pracuje jako inżynier oprogramowania nad silnikiem Direct3D 11 wspomagającym projektowanie architektoniczne. Ukończył studia matematyczne na Uniwersytecie Kalifornijskim w Irvine.
Wybrane bestsellery
-
Naglący termin, niedoczas, permanentne opóźnienie - oto najwierniejsi towarzysze i zarazem najwięksi wrogowie kierownika projektu. Nawet certyfikowani project managerowie, ludzie z ogromną wiedzą i nie mniejszym doświadczeniem, raz po raz znajdują się w sytuacji, w której potrzeba naprawdę wielki...(35.40 zł najniższa cena z 30 dni)
41.30 zł
59.00 zł(-30%)
Ebooka "Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Introduction to 3D Game Programming with DirectX 11
- Tłumaczenie:
- Krzysztof Wołowski
- ISBN Książki drukowanej:
- 978-83-246-7474-9, 9788324674749
- Data wydania książki drukowanej:
- 2014-05-26
- ISBN Ebooka:
- 978-83-246-7475-6, 9788324674756
- Data wydania ebooka:
- 2014-05-24 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 164x239
- Numer z katalogu:
- 19774
- Rozmiar pliku Pdf:
- 46.2MB
- Rozmiar pliku ePub:
- 26.6MB
- Rozmiar pliku Mobi:
- 51.8MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- 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)
- 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)
- 1.6.8. Funkcje wektorowe (56)
- 1.6.9. Błąd obliczeń zmiennoprzecinkowych (59)
- 1.7. Podsumowanie (60)
- 1.8. Ćwiczenia (61)
- 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)
- 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)
- 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)
- 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)
- 5.5.1. Wierzchołki (168)
- 5.5.2. Topologia prymitywów (168)
- 5.5.3. Indeksy (173)
- 5.6. Etap cieniowania wierzchołków (175)
- 5.6.1. Przestrzeń lokalna i przestrzeń świata (175)
- 5.6.2. Przestrzeń widoku (179)
- 5.6.3. Rzutowanie i jednorodna przestrzeń obcinania (182)
- 5.7. Etapy teselacji (190)
- 5.8. Etap cieniowania geometrii (191)
- 5.9. Obcinanie (191)
- 5.10. Etap rasteryzacji (193)
- 5.10.1. Przekształcenie okna widoku (193)
- 5.10.2. Usuwanie niewidocznych powierzchni (194)
- 5.10.3. Interpolacja atrybutów wierzchołków (195)
- 5.11. Etap cieniowania pikseli (197)
- 5.12. Etap łączenia wyników (197)
- 5.13. Podsumowanie (197)
- 5.14. Ćwiczenia (198)
- 6.1. Wierzchołki i formaty wejścia (203)
- 6.2. Bufory wierzchołków (208)
- 6.3. Indeksy i bufory indeksów (212)
- 6.4. Przykładowy shader wierzchołków (215)
- 6.5. Bufor stały (218)
- 6.6. Przykładowy shader pikseli (219)
- 6.7. Stany renderowania (221)
- 6.8. Efekty (224)
- 6.8.1. Pliki efektów (224)
- 6.8.2. Kompilacja shaderów (226)
- 6.8.3. Łączenie efektów z aplikacją C++ (229)
- 6.8.4. Rysowanie za pomocą efektów (230)
- 6.8.5. Wczesna kompilacja efektu (231)
- 6.8.6. Framework efektów jako "generator shaderów" (233)
- 6.8.7. Kod asemblera (237)
- 6.9. Aplikacja "Box" (242)
- 6.10. Aplikacja "Hills" (248)
- 6.10.1. Generowanie wierzchołków siatki (248)
- 6.10.2. Generowanie indeksów siatki (251)
- 6.10.3. Funkcja wyznaczająca wysokość (252)
- 6.11. Aplikacja "Shapes" (254)
- 6.11.1. Tworzenie siatki walca (255)
- 6.11.2. Tworzenie siatki sfery (259)
- 6.11.3. Tworzenie siatki sfery geodezyjnej (259)
- 6.11.4. Kod aplikacji (262)
- 6.12. Ładowanie geometrii z pliku (266)
- 6.13. Dynamiczne bufory wierzchołków (266)
- 6.14. Podsumowanie (269)
- 6.15. Ćwiczenia (271)
- 7.1. Interakcja między światłem i materiałem (276)
- 7.2. Wektory normalne (277)
- 7.2.1. Obliczanie wektorów normalnych (279)
- 7.2.2. Przekształcenia wektorów normalnych (280)
- 7.3. Prawo Lamberta (283)
- 7.4. Światło rozproszone (283)
- 7.5. Światło otoczenia (285)
- 7.6. Światło odbite (285)
- 7.7. Podsumowanie modelu (288)
- 7.8. Określanie kolorów materiałów (289)
- 7.9. Światła równoległe (291)
- 7.10. Światła punktowe (291)
- 7.10.1. Wygaszanie (292)
- 7.10.2. Zasięg (293)
- 7.11. Światła reflektorowe (293)
- 7.12. Implementacja (294)
- 7.12.1. Struktury oświetlenia (294)
- 7.12.2. Upakowanie struktur (296)
- 7.12.3. Implementacja świateł kierunkowych (298)
- 7.12.4. Implementacja świateł punktowych (299)
- 7.12.5. Implementacja świateł reflektorowych (300)
- 7.13. Aplikacja "Lighting" (301)
- 7.13.1. Plik efektu (301)
- 7.13.2. Kod aplikacji C++ (304)
- 7.13.3. Obliczanie normalnych (306)
- 7.14. Aplikacja "Lit Skull" (307)
- 7.15. Podsumowanie (309)
- 7.16. Ćwiczenia (310)
- 8.1. Podsumowanie wiadomości na temat tekstur i zasobów (313)
- 8.2. Współrzędne tekstury (316)
- 8.3. Tworzenie i włączanie obsługi tekstury (318)
- 8.4. Filtry (320)
- 8.4.1. Powiększanie (320)
- 8.4.2. Pomniejszanie (323)
- 8.4.3. Filtrowanie anizotropowe (324)
- 8.5. Próbkowanie tekstur (324)
- 8.6. Tekstury i materiały (326)
- 8.7. Aplikacja "Crate" (326)
- 8.7.1. Określanie współrzędnych tekstury (326)
- 8.7.2. Tworzenie tekstury (327)
- 8.7.3. Ustawianie tekstury (327)
- 8.7.4. Aktualizacja efektu bazowego (328)
- 8.8. Tryby adresowania (332)
- 8.9. Przekształcanie tekstur (335)
- 8.10. Aplikacja "Land Tex" (335)
- 8.10.1. Generowanie współrzędnych tekstury dla siatki (336)
- 8.10.2. Kafelkowanie (337)
- 8.10.3. Animacja tekstury (338)
- 8.11. Formaty kompresji tekstur (338)
- 8.12. Podsumowanie (341)
- 8.13. Ćwiczenia (341)
- 9.1. Równanie mieszania (346)
- 9.2. Operacje mieszania (347)
- 9.3. Współczynniki mieszania (347)
- 9.4. Stan mieszania (348)
- 9.5. Przykłady (351)
- 9.5.1. Mieszanie bez zapisu koloru (351)
- 9.5.2. Dodawanie i odejmowanie kolorów (352)
- 9.5.3. Mnożenie kolorów (352)
- 9.5.4. Przezroczystość (353)
- 9.5.5. Mieszanie kolorów a bufor głębokości (354)
- 9.6. Kanały alfa (355)
- 9.7. Obcinanie pikseli (356)
- 9.8. Mgła (360)
- 9.9. Podsumowanie (365)
- 9.10. Ćwiczenia (366)
- 10.1. Formaty buforów głębokości/szablonu i ich czyszczenie (370)
- 10.2. Test szablonu (371)
- 10.3. Blok stanu głębokości/szablonu (372)
- 10.3.1. Ustawienia głębi (372)
- 10.3.2. Ustawienia szablonu (373)
- 10.3.3. Tworzenie i wiązanie stanu głębokości/szablonu (374)
- 10.3.4. Stany głębokości/szablonu w plikach efektów (375)
- 10.4. Implementacja luster płaskich (376)
- 10.4.1. Symulowanie lustra (376)
- 10.4.2. Definiowanie stanów głębokości/szablonu lustra (378)
- 10.4.3. Rysowanie sceny (379)
- 10.4.4. Kolejność nawijania i odbicia (381)
- 10.5. Implementacja cieni płaskich (382)
- 10.5.1. Cienie świateł równoległych (382)
- 10.5.2. Cienie świateł punktowych (385)
- 10.5.3. Uogólniona macierz cienia (386)
- 10.5.4. Zapobieganie podwójnemu mieszaniu przy użyciu bufora szablonowego (386)
- 10.5.5. Kod cienia (387)
- 10.6. Podsumowanie (388)
- 10.7. Ćwiczenia (389)
- 11.1. Programowanie shaderów geometrii (396)
- 11.2. Aplikacja "Tree Billboards" (400)
- 11.2.1. Założenia (400)
- 11.2.2. Struktura wierzchołka (403)
- 11.2.3. Plik efektu (403)
- 11.2.4. Obiekt SV_PrimitiveID (408)
- 11.3. Tablice tekstur (409)
- 11.3.1. Założenia (409)
- 11.3.2. Próbkowanie tablicy tekstur (410)
- 11.3.3. Ładowanie tablic tekstur (410)
- 11.3.4. Podzasoby tekstury (414)
- 11.4. Technika alpha-to-coverage (415)
- 11.5. Podsumowanie (416)
- 11.6. Ćwiczenia (418)
- 12.1. Wątki i grupy wątków (422)
- 12.2. Prosty shader obliczeniowy (425)
- 12.3. Zasoby danych wejściowych i wyjściowych (426)
- 12.3.1. Wejściowe tekstury (426)
- 12.3.2. Tekstury wyjściowe i widoki nieuporządkowanego dostępu (UAV) (426)
- 12.3.3. Indeksowanie i próbkowanie tekstur (428)
- 12.3.4. Zasoby ustrukturyzowanych buforów (430)
- 12.3.5. Kopiowanie wyników shadera obliczeniowego do pamięci systemowej (433)
- 12.4. Wartości systemowe identyfikujące wątki (436)
- 12.5. Bufor dopisywania i bufor konsumowany (437)
- 12.6. Pamięć współdzielona i synchronizacja (439)
- 12.7. Aplikacja "Blur" (440)
- 12.7.1. Algorytm rozmywania (440)
- 12.7.2. Renderowanie do tekstury (443)
- 12.7.3. Implementacja rozmycia (445)
- 12.7.4. Program shadera obliczeniowego (449)
- 12.8. Inne źródła (454)
- 12.9. Podsumowanie (455)
- 12.10. Ćwiczenia (457)
- 13.1. Typy prymitywów teselacji (460)
- 13.1.1. Teselacja i shader wierzchołków (461)
- 13.2. Shader powłoki (461)
- 13.2.1. Stały shader powłoki (461)
- 13.2.2. Shader powłoki punktów kontrolnych (463)
- 13.3. Etap teselatora (465)
- 13.3.1. Przykłady teselacji czworokątnej łaty (465)
- 13.3.2. Przykłady teselacji trójkątnej łaty (466)
- 13.4. Shader dziedziny (466)
- 13.5. Teselacja czworokąta (468)
- 13.6. Czworokątne łaty Béziera trzeciego stopnia (471)
- 13.6.1. Krzywe Béziera (471)
- 13.6.2. Powierzchnie Béziera trzeciego stopnia (474)
- 13.6.3. Kod do obliczeń powierzchni Béziera trzeciego stopnia (475)
- 13.6.4. Określanie geometrii łat (476)
- 13.7. Podsumowanie (478)
- 13.8. Ćwiczenia (479)
- 14.1. Przekształcenie widoku (483)
- 14.2. Klasa kamery (485)
- 14.3. Implementacje wybranych metod (486)
- 14.3.1. Metody zwracające wartość XMVECTOR (486)
- 14.3.2. Metoda SetLens (487)
- 14.3.3. Dodatkowe informacje o ostrosłupie widzenia (487)
- 14.3.4. Przekształcanie kamery (488)
- 14.3.5. Budowa macierzy widoku (489)
- 14.4. Użycie klasy kamery (490)
- 14.5. Podsumowanie (491)
- 14.6. Ćwiczenia (492)
- 15.1. Instancjonowanie sprzętowe (493)
- 15.1.1. Shader wierzchołków (494)
- 15.1.2. Przesyłanie strumieniowe danych instancji (495)
- 15.1.3. Rysowanie danych instancji (496)
- 15.1.4. Tworzenie bufora instancji (497)
- 15.2. Bryły brzegowe i ostrosłupy widzenia (498)
- 15.2.1. Biblioteka XNA Collision (498)
- 15.2.2. Prostopadłościany (498)
- 15.2.3. Sfery (503)
- 15.2.4. Ostrosłupy widzenia (503)
- 15.3. Usuwanie powierzchni poza ostrosłupem widzenia (508)
- 15.4. Podsumowanie (511)
- 15.5. Ćwiczenia (512)
- 16.1. Przekształcenie ekranu do okna rzutu (517)
- 16.2. Promień wskazujący w przestrzeni świata/lokalnej (520)
- 16.3. Przecięcie promienia i siatki obiektu (521)
- 16.3.1. Przecięcie promienia i prostopadłościanu AABB (522)
- 16.3.2. Przecięcie promienia i sfery (523)
- 16.3.3. Przecięcie promienia i trójkąta (524)
- 16.4. Aplikacja demonstracyjna (526)
- 16.5. Podsumowanie (527)
- 16.6. Ćwiczenia (527)
- 17.1. Mapowanie sześcienne (529)
- 17.2. Tekstury otoczenia (531)
- 17.2.1. Ładowanie i używanie tekstur sześciennych w Direct3D (534)
- 17.3. Teksturowanie nieba (535)
- 17.4. Modelowanie odbić (537)
- 17.5. Dynamiczne tekstury sześcienne (539)
- 17.5.1. Budowa tekstury sześciennej i widoków celu renderowania (539)
- 17.5.2. Budowa bufora głębokości i okna widoku (542)
- 17.5.3. Ustawianie kamery (543)
- 17.5.4. Rysowanie do tekstury sześciennej (544)
- 17.6. Dynamiczne tekstury sześcienne w shaderze geometrii (545)
- 17.7. Podsumowanie (547)
- 17.8. Ćwiczenia (548)
- 18.1. Do czego nam to potrzebne? (551)
- 18.2. Mapy normalnych (552)
- 18.3. Przestrzeń tekstury (przestrzeń styczna) (555)
- 18.4. Przestrzeń styczna do wierzchołka (557)
- 18.5. Przekształcanie z przestrzeni stycznej do przestrzeni obiektu (558)
- 18.6. Mapowanie normalnych w kodzie shadera (559)
- 18.7. Mapowanie przemieszczeń (563)
- 18.8. Mapowanie przemieszczeń w kodzie shadera (565)
- 18.8.1. Typ prymitywu (565)
- 18.8.2. Shader wierzchołków (566)
- 18.8.3. Shader powłoki (567)
- 18.8.4. Shader dziedziny (569)
- 18.9. Podsumowanie (570)
- 18.10. Ćwiczenia (571)
- 19.1. Mapy wysokości (575)
- 19.1.1. Tworzenie mapy wysokości (577)
- 19.1.2. Ładowanie pliku RAW (578)
- 19.1.3. Wygładzanie (579)
- 19.1.4. Widok zasobu shadera mapy wysokości (582)
- 19.2. Teselacja terenu (583)
- 19.2.1. Budowa siatki (583)
- 19.2.2. Shader wierzchołków terenu (586)
- 19.2.3. Współczynniki teselacji (587)
- 19.2.4. Mapowanie przemieszczeń (589)
- 19.2.5. Szacowanie wektora stycznego i normalnego (590)
- 19.3. Usuwanie łat poza ostrosłupem widzenia (591)
- 19.4. Teksturowanie (596)
- 19.5. Wysokość terenu (598)
- 19.6. Podsumowanie (601)
- 19.7. Ćwiczenia (602)
- 20.1. Reprezentacja cząsteczek (605)
- 20.2. Ruch cząsteczek (607)
- 20.3. Losowość (609)
- 20.4. Mieszanie kolorów i systemy cząsteczek (611)
- 20.5. Wyjście strumieniowe (613)
- 20.5.1. Tworzenie shadera geometrii dla wyjścia strumieniowego (613)
- 20.5.2. Wyjście strumieniowe bez renderowania (614)
- 20.5.3. Tworzenie bufora wierzchołków dla wyjścia strumieniowego (616)
- 20.5.4. Wiązanie z etapem wyjścia strumieniowego (616)
- 20.5.5. Odwiązywanie od etapu wyjścia strumieniowego (616)
- 20.5.6. Automatyczne rysowanie (617)
- 20.5.7. Przełączanie buforów wierzchołków (617)
- 20.6. System cząsteczek bazujący na procesorze graficznym (618)
- 20.6.1. Efekty cząsteczkowe (618)
- 20.6.2. Klasa ParticleSystem (618)
- 20.6.3. Emitery (620)
- 20.6.4. Inicjalizacja bufora wierzchołków (620)
- 20.6.5. Metoda Update/Draw (621)
- 20.7. Ogień (623)
- 20.8. Deszcz (627)
- 20.9. Podsumowanie (632)
- 20.10. Ćwiczenia (633)
- 21.1. Renderowanie głębokości sceny (635)
- 21.2. Rzutowanie ortograficzne (638)
- 21.3. Współrzędne rzutowe tekstury (640)
- 21.3.1. Implementacja (642)
- 21.3.2. Punkty poza ostrosłupem widzenia (643)
- 21.3.3. Rzutowanie ortograficzne (643)
- 21.4. Mapowanie cieni (644)
- 21.4.1. Opis algorytmu (644)
- 21.4.2. Obciążanie głębokości i aliasing (645)
- 21.4.3. Filtrowanie PCF (648)
- 21.4.4. Budowa mapy cieni (652)
- 21.4.5. Współczynnik cienia (656)
- 21.4.6. Test zacienienia (657)
- 21.4.7. Renderowanie mapy cieni (661)
- 21.5. Duże jądra PCF (661)
- 21.5.1. Funkcje DDX i DDY (662)
- 21.5.2. Rozwiązanie problemu dużego jądra PCF (663)
- 21.5.3. Alternatywne rozwiązanie problemu dużego jądra PCF (665)
- 21.6. Podsumowanie (666)
- 21.7. Ćwiczenia (667)
- 22.1. Okluzja otoczenia na podstawie śledzenia promieni (669)
- 22.2. Okluzja otoczenia przestrzeni ekranu (674)
- 22.2.1. Przebieg renderowania normalnych i głębokości (674)
- 22.2.2. Przebieg okluzji otoczenia (675)
- 22.2.3. Przebieg rozmycia (683)
- 22.2.4. Wykorzystanie mapy okluzji otoczenia (686)
- 22.3. Podsumowanie (689)
- 22.4. Ćwiczenia (689)
- 23.1. Format .m3d (694)
- 23.1.1. Nagłówek (694)
- 23.1.2. Materiały (695)
- 23.1.3. Podzbiory (696)
- 23.1.4. Wierzchołki i indeksy trójkątów (697)
- 23.2. Geometria siatki (699)
- 23.3. Klasa BasicModel (700)
- 23.4. Aplikacja "Mesh Viewer" (701)
- 23.5. Podsumowanie (701)
- 23.6. Ćwiczenia (702)
- 24.1. Liczby zespolone (704)
- 24.1.1. Definicje (704)
- 24.1.2. Interpretacja geometryczna (705)
- 24.1.3. Postać biegunowa i obroty (705)
- 24.2. Algebra kwaternionów (707)
- 24.2.1. Definicja i podstawowe działania (707)
- 24.2.2. Wzory skróconego mnożenia (708)
- 24.2.3. Własności (708)
- 24.2.4. Konwersje (709)
- 24.2.5. Sprzężenie i norma (709)
- 24.2.6. Kwaterniony odwrotne (710)
- 24.2.7. Postać biegunowa (711)
- 24.3. Kwaterniony jednostkowe i obroty (712)
- 24.3.1. Operator obrotu (712)
- 24.3.2. Kwaternionowy operator obrotu w postaci macierzy (714)
- 24.3.3. Zapis macierzy w postaci kwaternionowego operatora obrotu (716)
- 24.3.4. Złożenie (717)
- 24.4. Interpolacja kwaternionów (718)
- 24.5. Funkcje kwaternionowe XNA Math (723)
- 24.6. Aplikacja "Quaternions" (723)
- 24.7. Podsumowanie (728)
- 24.8. Ćwiczenia (729)
- 25.1. Hierarchie układów odniesienia (731)
- 25.1.1. Ujęcie matematyczne (733)
- 25.2. Siatki-skóry (735)
- 25.2.1. Definicje (735)
- 25.2.2. Przekształcenie kość - szkielet (736)
- 25.2.3. Przekształcenie siatka - kość (736)
- 25.2.4. Animacja szkieletu (737)
- 25.2.5. Obliczanie przekształcenia finalnego (738)
- 25.3. Uśrednianie wierzchołków (740)
- 25.4. Ładowanie danych animacji w formacie .m3d (743)
- 25.4.1. Dane wierzchołka skóry (743)
- 25.4.2. Przekształcenia siatka - kość (744)
- 25.4.3. Hierarchia (745)
- 25.4.4. Dane animacji (746)
- 25.4.5. Klasa M3DLoader (748)
- 25.5. Aplikacja "Skinned Mesh" (749)
- 25.6. Podsumowanie (750)
- 25.7. Ćwiczenia (751)
- A.1. Zagadnienia podstawowe (754)
- A.1.1. Zasoby (754)
- A.1.2. Zdarzenia, kolejka komunikatów, komunikaty i pętla komunikatów (754)
- A.1.3. Interfejs graficzny (755)
- A.1.4. Unicode (755)
- A.2. Prosta aplikacja Windows (755)
- A.3. Analiza prostej aplikacji Windows (760)
- A.3.1. Dołączanie plików, zmienne globalne i prototypy (761)
- A.3.2. Funkcja WinMain (761)
- A.3.3. Struktura WNDCLASS i jej rejestracja (762)
- A.3.4. Tworzenie i wyświetlanie okna (763)
- A.3.5. Pętla komunikatów (765)
- A.3.6. Procedura okna (766)
- A.3.7. Funkcja MessageBox (768)
- A.4. Ulepszona pętla komunikatów (768)
- A.5. Podsumowanie (769)
- A.6. Ćwiczenia (770)
- Typy zmiennych (771)
- Typy skalarne (771)
- Typy wektorowe (771)
- Typy macierzowe (772)
- Tablice (773)
- Struktury (774)
- Słowo kluczowe typedef (774)
- Modyfikatory zmiennych (774)
- Rzutowanie typów (775)
- Słowa zastrzeżone i operatory (775)
- Słowa kluczowe (775)
- Operatory (775)
- Przepływ programu (777)
- Funkcje (778)
- Funkcje użytkownika (778)
- Funkcje wbudowane (779)
- C.1. Promienie, proste i odcinki (783)
- C.2. Równoległoboki (784)
- C.3. Trójkąty (785)
- C.4. Płaszczyzny (786)
- C.4.1. Płaszczyzny XNA Math (787)
- C.4.2. Wzajemne położenie punktu i płaszczyzny (787)
- C.4.3. Obliczanie płaszczyzny (788)
- C.4.4. Normalizacja płaszczyzny (789)
- C.4.5. Przekształcanie płaszczyzny (789)
- C.4.6. Najbliższy punkt na płaszczyźnie względem danego punktu (789)
- C.4.7. Przecięcie promienia i płaszczyzny (790)
- C.4.8. Odbijanie wektorów (791)
- C.4.9. Odbijanie punktów (791)
- C.4.10. Macierz odbicia (792)
- C.5. Ćwiczenia (793)
- Rozdział 1. (795)
- Rozdział 2. (798)
- Rozdział 3. (802)
- Rozdział 5. (810)
- Rozdział 8. (816)
- Rozdział 10. (818)
- Rozdział 11. (819)
- Rozdział 12. (819)
- Rozdział 14. (819)
- Rozdział 15. (820)
- Rozdział 18. (823)
- Rozdział 21. (823)
- Rozdział 24. (825)
- Dodatek C (832)
Podziękowania (19)
Wstęp (21)
CZĘŚĆ I. PODSTAWY MATEMATYCZNE
Rozdział 1. Algebra wektorów (35)
Rozdział 2. Algebra macierzy (65)
Rozdział 3. Przekształcenia (85)
CZĘŚĆ II. PODSTAWY DIRECT3D
Rozdział 4. Inicjalizacja Direct3D (115)
Rozdział 5. Potok renderowania (159)
Rozdział 6. Rysowanie w Direct3D (203)
Rozdział 7. Oświetlenie (275)
Rozdział 8. Tekstury (313)
Rozdział 9. Mieszanie kolorów (345)
Rozdział 10. Szablonowanie (369)
Rozdział 11. Cieniowanie geometrii (395)
Rozdział 12. Shader obliczeniowy (421)
Rozdział 13. Etapy teselacji (459)
CZĘŚĆ III. TEMATY
Rozdział 14. Kamera pierwszej osoby (483)
Rozdział 15. Instancjonowanie i usuwanie powierzchni poza ostrosłupem widzenia (493)
Rozdział 16. Wskazywanie obiektów (515)
Rozdział 17. Mapowanie sześcienne (529)
Rozdział 18. Mapowanie normalnych i mapowanie przemieszczeń (551)
Rozdział 19. Renderowanie terenu (575)
Rozdział 20. Systemy cząsteczek i wyjście strumieniowe (605)
Rozdział 21. Mapowanie cieni (635)
Rozdział 22. Okluzja otoczenia (669)
Rozdział 23. Siatki (693)
Rozdział 24. Kwaterniony (703)
Rozdział 25. Animacja postaci (731)
Dodatek A. Wprowadzenie do programowania Windows (753)
Dodatek B. Język HLSL (771)
Dodatek C. Wybrane zagadnienia geometrii analitycznej (783)
Dodatek D. Rozwiązania wybranych ćwiczeń (795)
Bibliografia (837)
Skorowidz (841)
Helion - inne książki
-
Wszystkie znaki na niebie i ziemi wskazują wyraźnie: wkraczamy w erę, w której sztuczna inteligencja (SI) będzie wszechobecna. Wygra na tym ten, kto szybciej nauczy się z nią skutecznie porozumiewać. Nie czekaj zatem i już dziś opanuj sztukę tworzenia precyzyjnych i trafnych promptów, czyli instr...(38.35 zł najniższa cena z 30 dni)
41.30 zł
59.00 zł(-30%) -
Tę książkę docenią średnio zaawansowani użytkownicy Pythona, którzy tworzą aplikacje korzystające z osiągnięć nauki o danych. Znajdziesz w niej omówienie możliwości języka, wbudowanych struktur danych Pythona, jak również takich bibliotek jak NumPy, pandas, scikit-learn i matplotlib. Nauczysz się...(44.85 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Internet rozwija się w niesamowitym tempie. Dawniej sieć WWW była prostsza ― projektanci łączyli kod PHP, HTML i zapytania do MySQL w jednym pliku. Z czasem urosła do miliardów stron, co radykalnie zmieniło jej kształt. Zmieniły się też narzędzia i sposób pracy. Dziś idealnym wyborem dewelo...(44.85 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
To prawda: świat kryptowalut jest skomplikowany. Możesz go jednak zrozumieć i nauczyć się po nim poruszać, w czym pomoże Ci ta książka — interesujący przewodnik, który przystępnie wyjaśnia technologiczne podstawy rynku kryptowalut i związanej z nim ekonomii cyfrowej. Dowiesz się stąd, jak f...(40.20 zł najniższa cena z 30 dni)
46.90 zł
67.00 zł(-30%) -
Ta książka koncentruje się głównie na rozwijaniu repozytorium kodu, czyli tworzeniu grafu commitów zawierających poszczególne wersje. Do realizacji tego zadania idealnym, bo najpotężniejszym narzędziem jest wiersz poleceń - i właśnie z niego korzystamy w poradniku. Druga kwestia, którą się zajmuj...(23.94 zł najniższa cena z 30 dni)
27.93 zł
39.90 zł(-30%) -
Ta książka objaśnia, na czym polega istota ścieżki technicznej — z zaznaczeniem, że umiejętność dostosowania aspiracji konkretnej osoby do potrzeb organizacji jest sztuką, szczególnie w wypadku inżynierów, którzy mają wnieść istotny wkład na wysokim poziomie. Dzięki lekturze zrozumiesz swoj...(44.94 zł najniższa cena z 30 dni)
52.43 zł
74.90 zł(-30%) -
Oto drugie wydanie książki, którą specjaliści CISO uznali za przełomową. Dowiesz się z niej, jak kwantyfikować niepewność i jak za pomocą prostych metod i narzędzi poprawić ocenę ryzyka w nowoczesnych organizacjach. Znalazły się tu nowe techniki modelowania, pomiaru i szacowania, a także mnóstwo ...(52.20 zł najniższa cena z 30 dni)
60.90 zł
87.00 zł(-30%) -
W tej książce omówiono wewnętrzny sposób działania frameworka Kubernetes i pokazano, jak za jego pomocą budować wydajne, niezawodne i odporne na awarie aplikacje natywnej chmury. Dowiesz się, jak kontenery używają przestrzeni nazw w celu izolowania procesów, a także jak korzystają z funkcjonalnoś...(53.40 zł najniższa cena z 30 dni)
62.30 zł
89.00 zł(-30%) -
Jeśli zastanawiasz się nad przekwalifikowaniem i karierą w branży informatycznej albo chcesz poszerzyć swoje umiejętności o programowanie, ale wydaje Ci się ono czarną magią, zapewniamy - w programowaniu nie ma nic z magii. To proces polegający na tworzeniu zbioru instrukcji, dzięki którym komput...(23.94 zł najniższa cena z 30 dni)
27.93 zł
39.90 zł(-30%) -
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowa...(29.94 zł najniższa cena z 30 dni)
34.93 zł
49.90 zł(-30%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Zamknij
Przeczytaj darmowy fragment
Oceny i opinie klientów: Projektowanie gier 3D. Wprowadzenie do technologii DirectX 11 Frank Luna (5) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(1)
(2)
(0)
(2)
(0)
(0)
więcej opinii