mirror of
https://github.com/theoleuthardt/hwr-notes.git
synced 2026-06-06 00:51:09 +00:00
85 lines
No EOL
2.9 KiB
Markdown
85 lines
No EOL
2.9 KiB
Markdown
# 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? |