# Zeitplan ## Tag 1: Grundlagen, Fenster & Pipeline-Struktur **Ziel:** Das "Gerüst" verstehen (Windows, COM) und den Ablauf der Grafikpipeline verinnerlichen. ### 1. Windows & C++ Basics (45 Min) - Verstehe den Unterschied zwischen Pointer und Handle sowie das COM (Component Object Model). - Lerne die Fensternachrichten (`WM_QUIT`, `WM_DESTROY`, `WM_EXIT`) und die Funktion der Messagequeue (`Window Proc`). - Frage dich: Wozu braucht man Nachrichten? ### 2. Die Pipelines (1 Std.) - Vergleiche Fixed Function vs. Programmable Pipeline. - Lerne die Elemente der Pipeline auswendig: Vertex, Mesh, Transformation, Primitives (Unterschied List vs. Strip). - Schau dir die Stages an: Rasterizer (Front/Back Faces) und Screen-Stage. ### 3. DirectX Versionen (30 Min) - Unterscheide Direct3D9 (Device) vs. Direct3D11 (Device Context vs. Device). --- ## Tag 2: Berechnungen (Der "Anwendungs"-Teil) **Ziel:** Die Rechenaufgaben sicher beherrschen. Der Taschenrechner ist erlaubt, also übe den Weg. ### 1. Vertices & Buffer berechnen (1,5 Std.) – WICHTIG - Verinnerliche das Beispiel aus der Quelle: Ein Würfel braucht 24 Vertices (4 pro Fläche × 6 Flächen), nicht 8, wegen der Normalen. - Berechne die Vertexgröße: - Position (3 Floats) + Normale (3 Floats) + UV (2 Floats) = 8 Floats - 8 Floats × 4 Byte = 32 Byte pro Vertex - Gesamtgröße Vertexbuffer: 24 Vertices × 32 Byte = 768 Byte ### 2. Indexbuffer berechnen (45 Min) - Verstehe die `Triangle List`: 6 Flächen × 2 Dreiecke × 3 Ecken = 36 Indices. - Rechnung: 36 Indices × 2 Byte (Word) = 72 Byte ### 3. Transformationen (30 Min) - Lerne die Reihenfolge der Spaces: Local Space → World → View → Projection - Verstehe homogenisierte Koordinaten. --- ## Tag 3: Shader, Licht & Texturen **Ziel:** Die programmierbare Pipeline und visuelle Details verstehen. ### 1. Shader (1 Std.) - Lerne alle 6 Shadertypen und ihre Grundfunktion: Vertex, Hull, Domain, Geometry, Pixel, Compute. - Was sind Shader Ressources (Vertex-, Index-, Constantbuffer)? - Was ist HLSL und wozu dienen Semantiken? ### 2. Lighting (1 Std.) - Kenne die Lichtquellen (Directional, Point, Spot) und Lichtbestandteile (Ambient, Diffuse, Specular, Emission). - Unterschied: Vertex-Lighting vs. Pixel-Lighting ### 3. Texturen (30 Min) - UV-Mapping und UV-Tiling (Address Modes) verstehen. - Mipmapping: Stufen zählen können. --- ## Tag 4: Wiederholung & Lücken füllen **Ziel:** Wissen festigen und Details prüfen. ### 1. Datentypen-Check (1 Std.) - Gehe konkrete Datentypen aus dem Framework (D3D9/D3D11) durch. ### 2. Simulation (1 Std.) - Rechne ein Beispiel für Vertex- und Indexbuffer mit anderen Werten durch (z.B. nur eine Fläche oder eine Pyramide), um sicherzugehen, dass du das Prinzip (Vertices pro Fläche zählen) verstanden hast. ### 3. Review (30 Min) - Gehe die Liste in `Klausurthemen.md` noch einmal Punkt für Punkt durch. Alles abgehakt?