mirror of
https://github.com/theoleuthardt/hwr-notes.git
synced 2026-06-06 01:01:08 +00:00
2.9 KiB
2.9 KiB
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.mdnoch einmal Punkt für Punkt durch. Alles abgehakt?