Zawartość płyty dla książki:
Aplikacje Direct3D

Na załączonej do książki płycie CD znajdują się kody źródłowe wszystkich omawianych projektów. Są to projekty wykonane w pakiecie Visual C++ wraz z gotowymi uru-chamialnymi plikami exe. Zostały one uporządkowane tematycznie w poszczególnych katalogach.

Czytelnik ma możliwość szybkiego podglądu działania programów wynikowych wraz z weryfikacją możliwości obsługi poszczególnych parametrów Direct3D przez swoją kartę graficzną. Czytelnik może także wykorzystać w swoich programach oraz dowolnie modyfikować istniejące kody źródłowe.

W poniższej tabeli zostały zebrane wszystkie projekty występujące w książce. W drugiej kolumnie tablicy podane są ścieżki wskazujące lokalizację projektu na załączonej płycie CD. Trzecia kolumna stanowi krótki opis objaśniający cel danego projektu. Tabela ta pozwala szybko zorientować się w zawartości płyty CD oraz znaleźć interesujący projekt.

NrLokalizacja projektuOpis
1.\ClippingPłaszczyzny tnące
2.\SpriteAnimInterfejs ID3DXSprite — zarządzanie interfejsem
3.\TeapotZBiasWyświetlanie obiektów leżących w tej samej płaszczyźnie
4.\AlphaBlending\AlphaBlendingKanał alfa wykorzystany przy wyświetlaniu bitmap
5.\AlphaBlending\MFCBlendingRóżne sposoby łączenie rysowanych i narysowanych obiektów
6.\Base\baseappSzkielet aplikacji bazowej
7.\Effect\Effect1Interfejs ID3DXEffect — utworzenie interfejsu
8.\Effect\Effect2Interfejs ID3DXEffect — ładowanie parametrów z pliku tekstowego
9.\Fog\PixelFogTłumienie atmosferyczne obliczane na podstawie pikseli
10.\Fog\VertexFogTłumienie atmosferyczne obliczane na podstawie werteksów
11.\Interaction\MouseObracanie i przemieszczanie obiektu za pomocą myszki
12.\Interaction\PickMeshWybieranie obiektów z wirtualnej przestrzeni
13.\Light\AmbientLightŚwiatło typu ambient
14.\Light\DiffuseLightŚwiatło typu diffuse
15.\Light\DirectionalLightŚwiatło kierunkowe
16.\Light\PointLightŚwiatło punktowe
17.\Light\SpecularPowerLightŚwiatło typu specular. Zmiana współczynnika rozproszenia
18.\Light\SpecularLightŚwiatło typu specular
19.\Light\SpotLightŚwiatło źródłowe
20.\Light\ThreeLightsTrzy ruchome światła
21.\Mesh\CD3DMeshObjectŁadowanie obiektów z plików .x za pomocą klasy CD3DMesh
22.\Mesh\FourMeshesInterfejs ID3DXMesh — prostopadłościan, torus, wielokąt i cylinder
23.\Mesh\MeshLoadŁadowanie obiektów z plików .x
24.\Mesh\MeshSphereInterfejs ID3DXMesh — kula
25.\Mesh\MeshTessellateUlepszone powierzchnie
26.\Mesh\MeshTeapotInterfejs ID3DXMesh — imbryk
27.\PixelShader\PSAddSumowanie dwóch tekstur w potoku pikseli
28.\PixelShader\PSBaseTworzenie potoku pikseli
29.\PixelShader\PSlrpWykorzystanie instrukcji lrp w potoku pikseli
30.\PixelShader\PSTexWykorzystanie instrukcji tex w potoku pikseli
31.\PixelShader\PSTexColPołączenie koloru piksela z kolorem tekstury w potoku pikseli
32.\Points\PointSizeZmiana wielkości punktu w zależności od odległości
33.\Points\PointTextureNakładanie całej tekstury na pojedynczy punkt
34.\Points\PointTexCoordPunkt posiadający współrzędne tekstury
35.\Primitives\DynamicBufferZawartość bufora werteksów zmieniana jest dynamicznie
36.\Primitives\FVFPosTexCoordColNStruktura werteksa zawiera pozycję, wektor normalny, współrzędne tekstury i kolor
37.\Primitives\FVFPosTexCoordColStruktura werteksa zawiera pozycję, współrzędne tekstury i kolor
38.\Primitives\FVFPositionTexCoordStruktura werteksa zawiera pozycję i współrzędne tekstury
39.\Primitives\FVFPositionNormalStruktura werteksa zawiera pozycję i wektor normalny
40.\Primitives\IndexedBufferInformacje o obiekcie zawarte są w buforze werteksów i buforze indeksów
41.\Primitives\LineListWyświetlenie zawartości bufora werteksów w postaci linii
42.\Primitives\LineStripWyświetlenie zawartości bufora werteksów w postaci połączonych linii
43.\Primitives\PointListWyświetlenie zawartości bufora werteksów w postaci punktów
44.\Primitives\RHWStruktura werteksa zawiera pozycję we współrzędnych ekranu
45.\Primitives\SeparateBuffersDane dla jednego werteksa podawane są z dwóch osobnych buforów
46.\Primitives\TriangleStripWyświetlenie zawartości bufora werteksów w postaci połączonych trójkątów
47.\Primitives\TriangleListWyświetlenie zawartości bufora werteksów w postaci trójkątów
48.\Primitives\TriangleFanWyświetlenie zawartości bufora werteksów w postaci połączonych trójkątów
49.\Screensaver\BaseProjekt bazowy dla wygaszacza ekranu
50.\Screensaver\TeapotSSPrzykładowa aplikacja wygaszacza ekranu
51.\Stencil\StencilSilhouetteZarys figury trójwymiarowej
52.\Stencil\StencilMirrorEfekt odbicia lustrzanego
53.\Text\FontPłaski napis
54.\Text\Font3DPłaski napis w przestrzeni 3D
55.\Text\FontMeshPrzestrzenny napis w przestrzeni 3D
56.\Texture\EnvMapping1Mapowanie otoczenia ( D3DTSS_TCI_CAMERASPACENORMAL)
57.\Texture\EnvMapping2Mapowanie otoczenia ( D3DTSS_TCI_CAMERASPACEPOSITION)
58.\Texture\EnvMapping1pMapowanie otoczenia ( D3DTSS_TCI_CAMERASPACENORMAL + D3DTTFF_PROJECTED)
59.\Texture\EnvMapping2pMapowanie otoczenia ( D3DTSS_TCI_CAMERASPACEPOSITION + D3DTTFF_PROJECTED)
60.\Texture\EnvMapCubeMapowanie otoczenia -- tekstury sześcienne
61.\Texture\EnvMappingBump2pTekstura wichrująca i tekstura otoczenia
62.\Texture\EnvMappingBump2Tekstura wichrująca i tekstura otoczenia
63.\Texture\EnvMappingBump1pTekstura wichrująca i tekstura otoczenia
64.\Texture\GenDotNWyznaczanie mapy wektorów normalnych i wektorów wichrujących
65.\Texture\TexAnimWyświetlanie sekwencji tekstur na powierzchni obiektu
66.\Texture\TexBumpTranslateTekstura wichrująca i tekstura obiektu
67.\Texture\TexBumpLTranslateTekstura wichrująca z luminancją i tekstura obiektu
68.\Texture\TexDot3Wyznaczanie tekstury oświetlenia
69.\Texture\TexEnvMapBumpTekstura obiektu, wichrująca i otoczenia
70.\Texture\TexOpRóżne rodzaje łączenia dwóch tekstur
71.\Texture\TexRotateObrót współrzędnych tekstury
72.\Texture\TexTranslateTranslacja współrzędnych tekstury
73.\Texture\TexVolume1Tekstura przestrzenna
74.\Texture\TexVolumeTekstura przestrzenna
75.\VertexShader\VSAddDziałanie instrukcji add w potoku werteksów
76.\VertexShader\VSBaseTworzenie potoku werteksów
77.\VertexShader\VSConstPrzekazywanie stałych do potoku werteksów
78.\VertexShader\VSMadDziałanie instrukcji mad w potoku werteksów
79.\VertexShader\VSMaxDziałanie instrukcji max w potoku werteksów
80.\VertexShader\VSMinDziałanie instrukcji min w potoku werteksów
81.\VertexShader\VSNorColTexPrzekazywanie do potoku werteksów współrzędnych tekstury, koloru i wektora normalnego
82.\VertexShader\VSRcpDziałanie instrukcji rcp w potoku werteksów
83.\VertexShader\VSRsqDziałanie instrukcji rsq w potoku werteksów
84.\VertexShader\VSSubDziałanie instrukcji sub w potoku werteksów
85.\VertexShader\VSTexPrzekazywanie współrzędnych tekstury do potoku werteksów
86.\VertexBlending\BlendingTorus2Deformacja obiektu za pomocą czterech macierzy deformujących
87.\VertexBlending\BlendingTorus1Deformacja obiektu za pomocą trzech macierzy deformujących
88.\VertexBlending\BlendingTorusDeformacja obiektu za pomocą dwóch macierzy deformujących
89.\VertexBlending\TweeningInterpolacja pomiędzy dwoma obiektami
90.\View\ProjectionRodzaje macierzy rzutowania
91.\View\QuaternionInterp1Interpolacja za pomocą czterech kwaternionów kontrolnych
92.\View\QuaternionInterpInterpolacja pomiędzy dwoma kwaternionami
93.\View\ViewMoveZmiana macierzy widoku
94.\View\WorldTransformZmiana macierzy świata