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

2.9 KiB
Raw Permalink Blame History

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?