
Direct3D. Programowanie grafiki trójwymiarowej w DirectX. Biblia
Cena: 99,00 zł
DirectX 7 firmy Microsoft to interfejsy API, dzięki którym możesz tworzyć w języku C/C++ nowoczesne gry i symulacje działające w systemie Windows. Dzięki pomocnym wprowadzeniom, wielu ilustracjom oraz minimalnej ilości matematyki ten unikatowy przewodnik pokaże Ci, jak opanować API w celu zwiększenia swoich umiejętności programowania grafiki -- i to bez względu na to, czy dopiero stawiasz pierwsze kroki w dziedzinie grafiki komputerowej, czy też jesteś jej doświadczonym weteranem.
Książka daje pełny opis metod programowania trójwymiarowej grafiki z użyciem DirectX:
- Zrozumiesz, w jaki sposób DirectX komunikuje się z urządzeniami graficznymi i systemem Windows.
- Opanujesz podstawy dwu- i trójwymiarowej grafiki, od modelowania i renderowania aż do korzystania z macierzy.
- Przejmiesz kontrolę nad operacjami przerzucania i transformowania bitmap z użyciem DirectDraw.
- Wykorzystasz sprajty, przełączanie buforów oraz inne techniki animacji w DirectDraw.
- Opanujesz programowanie interfejsu Direct3D w trybie retained, w celu tworzenia prawdziwych trójwymiarowych animacji.
- Nauczysz się manipulować ramkami, siatkami, teksturami, mipmapami, światłami i cieniami.
- Precyzyjnie dostroisz ruch wykorzystując morfing i inne techniki animacji.
- Pełny kod źródłowy z książki.
- Microsoft DirectX 7 Software Development Kit.
O Autorach (15)
Przedmowa (16)
Część I Podstawy (19)
Rozdział 1. PC jako komputer graficzny (21)
- Historia i ewolucja (21)
- Technologia CRT (21)
- Technologie wideo stosowane w komputerach osobistych (24)
- Systemy graficzne komputerów PS/2 (28)
- SuperVGA (31)
- Koprocesory graficzne i akceleratory (34)
- Obecny stan grafiki w komputerach PC (35)
- Karty graficzne (36)
- Interfejsy programowania grafiki 3D (38)
- Właściwości obrazu (38)
- Jasność i kontrast (38)
- Kolor (39)
- Rozdzielczość (39)
- Stosunek boków (39)
- Zastosowania grafiki (40)
- Gry komputerowe (40)
- Zastosowania techniczne, naukowe i technologiczne (40)
- Projektowanie i sztuka (41)
- Zastosowania komercyjne (42)
- Symulacje (43)
- Rzeczywistość wirtualna (43)
- Sztuczne życie (43)
- Grafika fraktalowa (44)
- Podsumowanie (44)
Rozdział 2. Modelowanie i reprezentacja grafiki (45)
- Rodzaje danych graficznych (45)
- Układy współrzędnych (46)
- Reprezentacja obiektów geometrycznych (50)
- Wielokąty i modelowanie z użyciem wielokątów (51)
- Reprezentacja z użyciem trójkątów (52)
- Przybliżona reprezentacja z użyciem wielokątów (52)
- Krawędzie (53)
- Siatka wielokątów (54)
- Prymitywy graficzne (54)
- Funkcje wejściowe (56)
- Struktura pliku wyświetlania (56)
- Dane obrazu w pliku wyświetlania (58)
- Polecenia pliku wyświetlania (58)
- Odwzorowanie obrazu (59)
- Bufor wideo (59)
- Bufor obrazu (60)
- Okna i widoki (60)
- Elementy modelowania grafiki (61)
- Deskryptor (61)
- Opis (61)
- Plik wyświetlania (62)
- Plik obrazu (63)
- Segmenty obrazu (63)
- Deskryptory obrazu (64)
- Podsumowanie (64)
Rozdział 3. Przekształcenia obrazów trójwymiarowych (65)
- Układy współrzędnych i reprezentacje macierzowe (65)
- Przekształcenia obrazu (66)
- Arytmetyka na macierzach (67)
- Operacje mnożenia macierzy przez skalar (67)
- Dodawanie i odejmowanie macierzy (67)
- Mnożenie macierzy (68)
- Dwuwymiarowe przekształcenia geometryczne (69)
- Translacja (69)
- Skalowanie (71)
- Rotacja (72)
- Współrzędne jednorodne (74)
- Łączenie macierzy (76)
- Przekształcenia 3D (77)
- Translacja 3D (78)
- Skalowanie 3D (80)
- Rotacja 3D (83)
- Obrót dookoła ustalonej osi (84)
- Kodowanie przekształceń geometrycznych (85)
- Zastosowania przekształceń geometrycznych (87)
- Podsumowanie (88)
Rozdział 4. Renderowanie w trzech wymiarach (89)
- Rzutowania i perspektywa (89)
- Geometria rzutów (89)
- Rzuty równoległe (92)
- Rzuty perspektywiczne (93)
- Kanał renderowania (99)
- Przestrzeń lokalna (obiektu) (99)
- Przestrzeń świata (sceny) (100)
- Przestrzeń obserwatora (100)
- Przestrzeń ekranu (103)
- Inne modele renderowania (103)
- Oświetlenie (104)
- Modele oświetlenia (104)
- Odbicia (106)
- Cieniowanie (109)
- Cieniowanie płaskie (109)
- Cieniowanie interpolowane (109)
- Śledzenie promieni (112)
- Inne algorytmy renderowania (113)
- Operacje skanowania linii (113)
- Algorytm bufora głębokości (114)
- Tekstury (116)
- Podsumowanie (116)
Rozdział 5. Animacja komputerowa (117)
- Animacja kreskówek (117)
- Rys historyczny (117)
- Techniki rysunkowe (118)
- Techniki fotograficzne (119)
- Animacja komputerowa (121)
- Animacja w czasie rzeczywistym (121)
- Animacja poklatkowa (122)
- Animacja interaktywna (122)
- Techniki animacji (123)
- Fazy pośrednie i morfing (124)
- Obliczenia ścieżki ruchu (124)
- Animacja przez przesunięcie kolorów (125)
- Animacja tła (126)
- Animacja XOR (128)
- Rendering w animacji (130)
- Zastosowania animacji komputerowej (131)
- Symulatory i trenażery (131)
- Gry komputerowe (132)
- Sztuczne życie (132)
- Rzeczywistość wirtualna (133)
- Grafika fraktalna (134)
- Problemy animatora (135)
- Podsumowanie (136)
Rozdział 6. Programowanie Windows API (137)
- Kroki przygotowawcze (137)
- Tworzenie projektu (137)
- Elementy programu Windows (141)
- WinMain() (141)
- Parametry (142)
- Zmienne danych (143)
- Struktura WNDCLASSEX (144)
- Rejestrowanie klasy okna (148)
- Tworzenie okna (149)
- Wyświetlanie okna (153)
- Pętla komunikatów (154)
- Procedura okna (155)
- Parametry procedury okna (156)
- Zmienne procedury okna (156)
- Przetwarzanie komunikatów (157)
- Domyślna procedura okna (159)
- Program WinHello (159)
- Modyfikowanie napisu na belce tytułowej (160)
- Wyświetlanie tekstu w obszarze roboczym okna (160)
- Tworzenie zasobów programu (162)
- Tworzenie bitmapy dla ikony (163)
- Wydruk programu WinHello (166)
- Podsumowanie (168)
Część II DirectDraw (169)
Rozdział 7. Podstawy DirectDraw (171)
- Tworzenie gier dla komputerów osobistych (171)
- DirectX (172)
- Instalowanie SDK (173)
- Wsparcie ze strony kompilatora (173)
- Testowanie pakietu (173)
- Komponenty DirectX (173)
- DirectX i COM (175)
- Wprowadzenie do DirectDraw (175)
- Cechy biblioteki DirectDraw (176)
- Wady i zalety (176)
- Architektura (177)
- Interfejs (177)
- Układ obiektów (177)
- Warstwa uniezależnienia od sprzętu (HAL) (179)
- Warstwa emulacji sprzętu (HEL) (179)
- Powiązania z systemem Windows (180)
- Podstawy biblioteki DirectDraw (180)
- Poziomy współpracy (181)
- Tryby wyświetlania (181)
- Powierzchnie (183)
- Palety (185)
- Obcinanie (186)
- Podsumowanie (188)
Rozdział 8. Inicjalizacja i konfiguracja biblioteki DirectDraw (189)
- Konfiguracja biblioteki DirectDraw (189)
- Plik nagłówkowy biblioteki DirectDraw (189)
- Pliki biblioteki DirectDraw (190)
- Tworzenie obiektu DirectDraw (191)
- Uzyskiwanie wersji interfejsu (192)
- Ustawianie poziomu współpracy (194)
- Możliwości sprzętowe (197)
- Tryby graficzne (204)
- Projekt DDInfo Demo (208)
- Podsumowanie (209)
Rozdział 9. Bezpośredni dostęp do pamięci wideo (211)
- Funkcja WinMain() dla DirectDraw (211)
- Funkcja WinMain() w wersji dla DirectDraw (212)
- Inicjalizacja DirectDraw (214)
- Projekt DD Exc Mode (221)
- Programowanie z wykorzystaniem bezpośredniego dostępu (221)
- Obraz odwzorowany w pamięci (221)
- Blokowanie powierzchni (224)
- Uzyskiwanie danych o powierzchni (226)
- Programowanie w kodzie maszynowym (227)
- Słowo kluczowe _asm (228)
- Ograniczenia kodowania (229)
- Funkcje w języku assemblera (230)
- Prymitywy bezpośredniego dostępu (231)
- Obliczanie adresu piksela (232)
- Użycie funkcji Lock() (232)
- Użycie funkcji Unlock() (233)
- Prymitywy pikseli (234)
- Operacje rastrowe (240)
- Animacja XOR (241)
- XOR-owanie bitmapy (242)
- Podsumowanie (244)
Rozdział 10. Blitting i przekształcenia przy blitowaniu (247)
- Powierzchnie tworzone poza buforem obrazu (247)
- Operacje na powierzchniach (247)
- Typy powierzchni (249)
- Wyliczanie powierzchni (251)
- Odtwarzanie powierzchni (253)
- Manipulowanie powierzchniami (254)
- Przezroczystość i klucze koloru (254)
- Ustawianie klucza koloru (257)
- Obsługa kluczy koloru (259)
- Blitowanie w DirectDraw (261)
- BltFast() (262)
- Blt() (264)
- Przekształcenia podczas blitowania (267)
- Wypełnianie kolorem (268)
- Skalowanie (268)
- Odbicie lustrzane (270)
- Operacje rastrowe (271)
- Podsumowanie (271)
Rozdział 11. Przetwarzanie bitmap (273)
- Renderowanie bitmapy (273)
- Ładowanie bitmapy (273)
- Uzyskiwanie informacji o bitmapie (276)
- Przenoszenie bitmapy na powierzchnię (277)
- Wyświetlanie bitmapy (278)
- Okienkowe aplikacje DirectDraw (279)
- Inicjalizacja trybu okienkowego (281)
- Obcinanie podstawowej powierzchni (283)
- Renderowanie w trybie okienkowym (286)
- Renderowanie przez obcinanie (286)
- Obcinanie podczas blitowania (291)
- Podsumowanie (294)
Rozdział 12. Techniki animacji (295)
- Animacja w czasie rzeczywistym (295)
- Rwanie powierzchni (296)
- Problemy animatora (297)
- Uzyskiwanie podstawy czasu (297)
- Metoda zliczania tyknięć (298)
- Przechwytywanie timera systemowego (300)
- Sprajty (301)
- Tworzenie obrazów dla sprajtów (302)
- Wyświetlanie sprajta (303)
- Przełączanie stron (307)
- Inicjalizowanie przełączanych powierzchni (309)
- Operacje przełączania (311)
- Wielokrotne buforowanie (313)
- Podsumowanie (314)
Rozdział 13. Programowanie animacji (315)
- Techniki przełączania (315)
- Animacja tła (315)
- Animacja przez przesuwanie (316)
- Animacja poprzez skalowanie (318)
- Operacje na sprajtach (319)
- Poprawianie wydajności animacji (323)
- Przetwarzanie z wykorzystaniem najlepszej opcji (324)
- Timery o wysokiej rozdzielczości (327)
- Prostokąty odświeżania (329)
- Dynamiczne klucze koloru (330)
- Mierzenie wydajności (332)
- Podsumowanie (333)
Część III Trójwymiarowa grafika w Direct3D (335)
Rozdział 14. Wprowadzenie do Direct3D (337)
- Grafika 3D (337)
- Pochodzenie biblioteki Direct3D (338)
- Implementacja Direct3D (338)
- Direct3D i COM (341)
- Mechanizmy renderowania biblioteki Direct3D (342)
- Moduł transformacji (342)
- Moduł oświetlenia (344)
- Moduł rasteryzacji (345)
- Elementy trybu utrzymywania (346)
- Ramki (346)
- Tryby cieniowania (349)
- Bufory głębokości (350)
- Światła (351)
- Tekstury (353)
- Materiały (357)
- Obiekty użytkownika (358)
- Widoki (358)
- Animacje i zestawy animacji (360)
- Matematyka renderowania w Direct3D (360)
- Układ współrzędnych Direct3D (361)
- Punkty i wektory w Direct3D (361)
- Płaszczyzna w przestrzeni 3D (364)
- Kwaterniony (366)
- Formaty plików Direct3D (368)
- Opis (369)
- Architektura formatu pliku (369)
- Podsumowanie (373)
Rozdział 15. Podstawy programowania trybu utrzymywania (375)
- Inicjalizowanie interfejsu programowego (375)
- IUnknown (375)
- Direct3DRMObject (376)
- QueryInterface() (377)
- Tworzenie clippera DirectDraw (379)
- Definiowanie listy obcinania (380)
- Funkcja InitD3D() (381)
- Budowanie obiektów (382)
- Wstępne założenia (382)
- Tworzenie obiektów (383)
- Funkcja CreateObjects() (385)
- Tworzenie głównej sceny (386)
- Budowanie głównej sceny (389)
- Tworzenie i wykorzystanie obiektu meshbuildera (389)
- Dodawanie siatki do ramki (391)
- Ustawianie położenia kamery (392)
- Tworzenie i pozycjonowanie ramki światła (393)
- Tworzenie i ustawianie świateł (394)
- Tworzenie materiału (396)
- Ustawianie koloru siatki (398)
- Operacje porządkowe (398)
- Funkcja BuildScene() (399)
- Renderowanie sceny (401)
- Czyszczenie widoku (402)
- Renderowanie do widoku (402)
- Aktualizowanie ekranu (403)
- Funkcja RenderScene() (404)
- Przykładowy program 3DRM InWin Demo1 (404)
- Szablon programu trybu utrzymywania działającego w oknie (405)
- Podsumowanie (405)
Rozdział 16. Operacje na poziomie systemu (407)
- Interfejs API trybu utrzymywania Direct3D (407)
- Interfejs IDirect3DRM3 (410)
- Tworzenie i uzyskiwanie urządzeń (412)
- Tworzenie urządzenia z obiektu Direct3D (412)
- Tworzenie urządzenia z powierzchni (413)
- Uzyskiwanie urządzenia (413)
- Tworzenie siatek i ścianek (414)
- Tworzenie materiałów, cieni, tekstur i owinięć (416)
- Materiały (416)
- Cienie (418)
- Tekstury (420)
- Owinięcia (422)
- Animacje (424)
- Tworzenie animacji (424)
- Tworzenie zestawu animacji (426)
- Ogólne funkcje wspomagające (427)
- Funkcje ścieżki wyszukiwania (427)
- Funkcje związane z obiektami (428)
- Tworzenie obiektów UserVisual (429)
- Ładowanie obiektów w trybie utrzymywania (431)
- Tworzenie taktu zegara dla animacji (432)
- Ustawianie geometrii trybu utrzymywania (433)
- Podsumowanie (433)
Rozdział 17. Operacje na poziomie urządzenia (435)
- Interfejs urządzenia w trybie utrzymywania (435)
- Metody interfejsu IDirect3DRMDevice3 (435)
- Funkcje inicjalizacji urządzenia (437)
- Zmiany stanu renderowania (437)
- Powiadamiania i aktualizacje okna (438)
- Jakość renderowania (439)
- Reguły jakości renderowania (440)
- Domyślne ustawienia jakości (440)
- Zmiana jakości renderowania (441)
- Wyrażanie jakości w sposób numeryczny (442)
- Interakcja a efekty wizualne (443)
- Odczytywanie jakości renderowania (445)
- Atrybuty renderowania (446)
- Tekstury (446)
- Cieniowanie (449)
- Przezroczystość (449)
- Dithering (455)
- Uzyskiwanie informacji o urządzeniu (456)
- Uzyskiwanie dostępu do trybu natychmiastowego (456)
- Odczytywanie specyfikacji urządzenia (456)
- Uzyskiwanie wymiarów urządzenia (458)
- Sterowanie buforami (459)
- Ustawianie ilości buforów (459)
- Uzyskiwanie ilości buforów (459)
- Przykładowy program 3DRM InWin Demo2 (459)
- Podsumowanie (460)
Rozdział 18. Operacje na poziomie widoku (461)
- Interfejs widoku w trybie utrzymywania (461)
- Funkcje interfejsu IDirect3DRMViewport2 (461)
- Tworzenie widoku (462)
- Konfiguracja widoku (463)
- Inicjalizowanie widoku (464)
- Czyszczenie widoku (464)
- Zmiana konfiguracji widoku (465)
- Wymuszanie aktualizacji obrazu (466)
- Odczytywanie urządzenia wyświetlania (466)
- Uzyskiwanie widoku trybu utrzymywania (466)
- Ustawianie i odczytywanie parametrów widoku (467)
- Odczytywanie rozmiarów i położenia widoku (467)
- Pole widzenia widoku (468)
- Rzuty widoków (470)
- Skalowanie widoku (471)
- Sterowanie obcinaniem (472)
- Operacje na kamerze (474)
- Wybór obiektów w widoku (475)
- Przekształcenia widoku (476)
- Konwersja współrzędnych sceny na współrzędne ekranu (476)
- Konwersja współrzędnych ekranu na współrzędne sceny (477)
- Przekształcenia tablic wektorów (477)
- Przykładowy program 3DRM InWin Demo3 (478)
- Podsumowanie (478)
Część IV Programowanie Direct3D (479)
Rozdział 19. Lokalne operacje ramki (481)
- Interfejs ramki trybu utrzymywania (481)
- Operacje przemieszczania i sterowania ramką (485)
- Sterowanie orientacją i położeniem (485)
- Sterowanie przemieszczaniem ramki (487)
- Projekt 3DRM Move Demo (489)
- Zmiana macierzy ramki (492)
- Ładowanie obiektów do ramek (494)
- Przekształcenia ramki (496)
- Powtórzenie podstawowych zagadnień (496)
- Macierze w Direct3D (498)
- Przekształcenia lokalne (499)
- Stosowanie przekształceń ramki (499)
- Projekt 3DRM Matrix Ops Demo (500)
- Pomocnicze operacje ramki (503)
- Manipulowanie wektorami (503)
- Sterowanie renderowaniem i wybieraniem ramek (503)
- Funkcje zwrotne ramki (504)
- Podsumowanie (506)
Rozdział 20. Atrybuty ramki oraz sterowanie sceną (507)
- Manipulowanie komponentami oraz atrybutami ramki (507)
- Operacje na bryle otaczającej (507)
- Sterowanie kolorem ramki (509)
- Sterowanie oświetleniem (510)
- Operacje na materiałach (514)
- Operacje na teksturach (517)
- Atrybuty sceny (518)
- Sterowanie tłem sceny (518)
- Sterowanie mgłą (520)
- Manipulowanie hierarchią ramek (523)
- Dodawanie ramki potomnej (524)
- Usuwanie ramki potomnej (524)
- Odczytywanie hierarchii ramek (524)
- Program demonstracyjny 3DRM Frame Hierarchy Demo (526)
- Tryby sortowania oraz sterowanie buforem głębokości (527)
- Sterowanie trybem sortowania (527)
- Sterowanie buforem głębokości (528)
- Operowanie na obiektach widzialnych (529)
- Dodawanie i usuwanie obiektów widzialnych (529)
- Uzyskiwanie dostępu do obiektów widzialnych (530)
- Podsumowanie (531)
Rozdział 21. Operacje na poziomie siatki (533)
- Siatki w trybie utrzymywania (533)
- Modelowanie obiektów graficznych (534)
- Programowe tworzenie ścianek i siatek (534)
- Tworzenie ścianek i siatek (535)
- Normalne ścianek i wierzchołków (536)
- Tworzenie ścianki (538)
- Tworzenie sześcianu (540)
- Przykładowy program 3DRM Mesh Create Demo (542)
- Ładowanie ramek i siatek z plików (542)
- Program Conv3ds (543)
- Ładowanie obiektów do ramek (546)
- Ładowanie siatek (551)
- Interpretowanie danych w plikach X (553)
- Dekodowanie sześcianu zapisanego w pliku X (554)
- Podsumowanie (559)
Rozdział 22. Tekstury i materiały (561)
- Tekstury w trybie utrzymywania (561)
- Bitmapa tekstury (562)
- Tworzenie tekstury (562)
- Tekstura z obrazu w pamięci (563)
- Tekstura z powierzchni DirectDraw (564)
- Domyślne parametry tekstury (564)
- Programowanie tekstur w trybie utrzymywania (565)
- Owinięcia (566)
- Parametry owinięć (567)
- Znaczniki owijania tekstury (570)
- Płaskie owinięcie (571)
- Owinięcie cylindryczne (571)
- Owinięcie sferyczne (572)
- Owinięcie odbić (573)
- Materiały w trybie utrzymywania (573)
- Programowanie materiałów (574)
- Nakładanie tekstur na siatki (577)
- Operacje wstępne (578)
- Ładowanie tekstury (580)
- Tekstury w plikach X (581)
- Tworzenie teksturowanego obiektu (582)
- Tworzenie tekstury zgodnej z DirectX (582)
- Ładowanie teksturowanej ramki (583)
- Podsumowanie (584)
Rozdział 23. Billboardy i mipmapy (585)
- Billboardy w trybie utrzymywania (585)
- Billboardy i pozorny trzeci wymiar (586)
- Billboardy w zaawansowanym modelowaniu (586)
- Programowanie billboardów (587)
- Tworzenie billboardu (587)
- Billboardy i ramki (591)
- Mipmapy (594)
- Ustawianie jakości tekstury (594)
- Generowanie mipmapy (595)
- Zmiana mipmapy (595)
- Podsumowanie (596)
Rozdział 24. Światła i cienie (597)
- Światła w trybie utrzymywania (597)
- Światła otaczające i światła skierowane (598)
- Model oświetlenia w Direct3D (598)
- Oświetlenie sceny (601)
- Tworzenie ramki światła (601)
- Tworzenie świateł (602)
- Dołączanie światła do ramki światła (603)
- Tworzenie światła otaczającego (603)
- Sterowanie oświetleniem (604)
- Sterowanie zanikaniem światła (605)
- Włączanie realistycznego oświetlenia (605)
- Zmiana zanikania światła (607)
- Sterowanie reflektorami (608)
- Program 3DRM Light Demo (608)
- Cienie (609)
- Tworzenie cienia (609)
- Program 3DRM Shadow Demo (611)
- Podsumowanie (611)
Rozdział 25. Animacja 3D (613)
- Bezpośrednie sterowanie animacją (613)
- Tworzenie funkcji zwrotnej ruchu (614)
- Implementowanie krokowych zmian (614)
- Animacja z wykorzystaniem klatek kluczowych (615)
- Komputerowo generowane obrazy pośrednie (616)
- Animacja klatek kluczowych w trybie utrzymywania (617)
- Programowanie animacji w trybie utrzymywania (618)
- Tworzenie animacji (618)
- Wybór opcji animacji (619)
- Definiowanie klatek kluczowych (621)
- Napędzanie animacji (626)
- Zestawy animacji (627)
- Animacje w plikach X (627)
- Ładowanie zestawu animacji (630)
- Napędzanie zestawu animacji (631)
- Interpolatory (632)
- Rodzaje interpolatorów (632)
- Klucze i indeks interpolatora (634)
- Tryby interpolacji (634)
- Programowanie interpolatorów (635)
- Podsumowanie (639)
Dodatki (641)
Dodatek A Struktury Windows i DirectX (643)
Dodatek B Kody operacji rastrowych (655)
Dodatek C Szablony DirectX (665)
Dodatek D Zawartość załączonego CD-ROM-u (675)






7 zapytań |
0,02316sek.