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.
| Nr | Lokalizacja projektu | Opis |
| 1. | \Clipping | Płaszczyzny tnące |
| 2. | \SpriteAnim | Interfejs ID3DXSprite — zarządzanie interfejsem |
| 3. | \TeapotZBias | Wyświetlanie obiektów leżących w tej samej płaszczyźnie |
| 4. | \AlphaBlending\AlphaBlending | Kanał alfa wykorzystany przy wyświetlaniu bitmap |
| 5. | \AlphaBlending\MFCBlending | Różne sposoby łączenie rysowanych i narysowanych obiektów |
| 6. | \Base\baseapp | Szkielet aplikacji bazowej |
| 7. | \Effect\Effect1 | Interfejs ID3DXEffect — utworzenie interfejsu |
| 8. | \Effect\Effect2 | Interfejs ID3DXEffect — ładowanie parametrów z pliku tekstowego |
| 9. | \Fog\PixelFog | Tłumienie atmosferyczne obliczane na podstawie pikseli |
| 10. | \Fog\VertexFog | Tłumienie atmosferyczne obliczane na podstawie werteksów |
| 11. | \Interaction\Mouse | Obracanie i przemieszczanie obiektu za pomocą myszki |
| 12. | \Interaction\PickMesh | Wybieranie 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\ThreeLights | Trzy ruchome światła |
| 21. | \Mesh\CD3DMeshObject | Ładowanie obiektów z plików .x za pomocą klasy CD3DMesh |
| 22. | \Mesh\FourMeshes | Interfejs ID3DXMesh — prostopadłościan, torus, wielokąt i cylinder |
| 23. | \Mesh\MeshLoad | Ładowanie obiektów z plików .x |
| 24. | \Mesh\MeshSphere | Interfejs ID3DXMesh — kula |
| 25. | \Mesh\MeshTessellate | Ulepszone powierzchnie |
| 26. | \Mesh\MeshTeapot | Interfejs ID3DXMesh — imbryk |
| 27. | \PixelShader\PSAdd | Sumowanie dwóch tekstur w potoku pikseli |
| 28. | \PixelShader\PSBase | Tworzenie potoku pikseli |
| 29. | \PixelShader\PSlrp | Wykorzystanie instrukcji lrp w potoku pikseli |
| 30. | \PixelShader\PSTex | Wykorzystanie instrukcji tex w potoku pikseli |
| 31. | \PixelShader\PSTexCol | Połączenie koloru piksela z kolorem tekstury w potoku pikseli |
| 32. | \Points\PointSize | Zmiana wielkości punktu w zależności od odległości |
| 33. | \Points\PointTexture | Nakładanie całej tekstury na pojedynczy punkt |
| 34. | \Points\PointTexCoord | Punkt posiadający współrzędne tekstury |
| 35. | \Primitives\DynamicBuffer | Zawartość bufora werteksów zmieniana jest dynamicznie |
| 36. | \Primitives\FVFPosTexCoordColN | Struktura werteksa zawiera pozycję, wektor normalny, współrzędne tekstury i kolor |
| 37. | \Primitives\FVFPosTexCoordCol | Struktura werteksa zawiera pozycję, współrzędne tekstury i kolor |
| 38. | \Primitives\FVFPositionTexCoord | Struktura werteksa zawiera pozycję i współrzędne tekstury |
| 39. | \Primitives\FVFPositionNormal | Struktura werteksa zawiera pozycję i wektor normalny |
| 40. | \Primitives\IndexedBuffer | Informacje o obiekcie zawarte są w buforze werteksów i buforze indeksów |
| 41. | \Primitives\LineList | Wyświetlenie zawartości bufora werteksów w postaci linii |
| 42. | \Primitives\LineStrip | Wyświetlenie zawartości bufora werteksów w postaci połączonych linii |
| 43. | \Primitives\PointList | Wyświetlenie zawartości bufora werteksów w postaci punktów |
| 44. | \Primitives\RHW | Struktura werteksa zawiera pozycję we współrzędnych ekranu |
| 45. | \Primitives\SeparateBuffers | Dane dla jednego werteksa podawane są z dwóch osobnych buforów |
| 46. | \Primitives\TriangleStrip | Wyświetlenie zawartości bufora werteksów w postaci połączonych trójkątów |
| 47. | \Primitives\TriangleList | Wyświetlenie zawartości bufora werteksów w postaci trójkątów |
| 48. | \Primitives\TriangleFan | Wyświetlenie zawartości bufora werteksów w postaci połączonych trójkątów |
| 49. | \Screensaver\Base | Projekt bazowy dla wygaszacza ekranu |
| 50. | \Screensaver\TeapotSS | Przykładowa aplikacja wygaszacza ekranu |
| 51. | \Stencil\StencilSilhouette | Zarys figury trójwymiarowej |
| 52. | \Stencil\StencilMirror | Efekt odbicia lustrzanego |
| 53. | \Text\Font | Płaski napis |
| 54. | \Text\Font3D | Płaski napis w przestrzeni 3D |
| 55. | \Text\FontMesh | Przestrzenny napis w przestrzeni 3D |
| 56. | \Texture\EnvMapping1 | Mapowanie otoczenia ( D3DTSS_TCI_CAMERASPACENORMAL) |
| 57. | \Texture\EnvMapping2 | Mapowanie otoczenia ( D3DTSS_TCI_CAMERASPACEPOSITION) |
| 58. | \Texture\EnvMapping1p | Mapowanie otoczenia ( D3DTSS_TCI_CAMERASPACENORMAL + D3DTTFF_PROJECTED) |
| 59. | \Texture\EnvMapping2p | Mapowanie otoczenia ( D3DTSS_TCI_CAMERASPACEPOSITION + D3DTTFF_PROJECTED) |
| 60. | \Texture\EnvMapCube | Mapowanie otoczenia -- tekstury sześcienne |
| 61. | \Texture\EnvMappingBump2p | Tekstura wichrująca i tekstura otoczenia |
| 62. | \Texture\EnvMappingBump2 | Tekstura wichrująca i tekstura otoczenia |
| 63. | \Texture\EnvMappingBump1p | Tekstura wichrująca i tekstura otoczenia |
| 64. | \Texture\GenDotN | Wyznaczanie mapy wektorów normalnych i wektorów wichrujących |
| 65. | \Texture\TexAnim | Wyświetlanie sekwencji tekstur na powierzchni obiektu |
| 66. | \Texture\TexBumpTranslate | Tekstura wichrująca i tekstura obiektu |
| 67. | \Texture\TexBumpLTranslate | Tekstura wichrująca z luminancją i tekstura obiektu |
| 68. | \Texture\TexDot3 | Wyznaczanie tekstury oświetlenia |
| 69. | \Texture\TexEnvMapBump | Tekstura obiektu, wichrująca i otoczenia |
| 70. | \Texture\TexOp | Różne rodzaje łączenia dwóch tekstur |
| 71. | \Texture\TexRotate | Obrót współrzędnych tekstury |
| 72. | \Texture\TexTranslate | Translacja współrzędnych tekstury |
| 73. | \Texture\TexVolume1 | Tekstura przestrzenna |
| 74. | \Texture\TexVolume | Tekstura przestrzenna |
| 75. | \VertexShader\VSAdd | Działanie instrukcji add w potoku werteksów |
| 76. | \VertexShader\VSBase | Tworzenie potoku werteksów |
| 77. | \VertexShader\VSConst | Przekazywanie stałych do potoku werteksów |
| 78. | \VertexShader\VSMad | Działanie instrukcji mad w potoku werteksów |
| 79. | \VertexShader\VSMax | Działanie instrukcji max w potoku werteksów |
| 80. | \VertexShader\VSMin | Działanie instrukcji min w potoku werteksów |
| 81. | \VertexShader\VSNorColTex | Przekazywanie do potoku werteksów współrzędnych tekstury, koloru i wektora normalnego |
| 82. | \VertexShader\VSRcp | Działanie instrukcji rcp w potoku werteksów |
| 83. | \VertexShader\VSRsq | Działanie instrukcji rsq w potoku werteksów |
| 84. | \VertexShader\VSSub | Działanie instrukcji sub w potoku werteksów |
| 85. | \VertexShader\VSTex | Przekazywanie współrzędnych tekstury do potoku werteksów |
| 86. | \VertexBlending\BlendingTorus2 | Deformacja obiektu za pomocą czterech macierzy deformujących |
| 87. | \VertexBlending\BlendingTorus1 | Deformacja obiektu za pomocą trzech macierzy deformujących |
| 88. | \VertexBlending\BlendingTorus | Deformacja obiektu za pomocą dwóch macierzy deformujących |
| 89. | \VertexBlending\Tweening | Interpolacja pomiędzy dwoma obiektami |
| 90. | \View\Projection | Rodzaje macierzy rzutowania |
| 91. | \View\QuaternionInterp1 | Interpolacja za pomocą czterech kwaternionów kontrolnych |
| 92. | \View\QuaternionInterp | Interpolacja pomiędzy dwoma kwaternionami |
| 93. | \View\ViewMove | Zmiana macierzy widoku |
| 94. | \View\WorldTransform | Zmiana macierzy świata |