hwr-notes/Grafik/Hackbarth/Zeitplan.md
2026-04-09 11:24:56 +02:00

85 lines
No EOL
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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?