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

3.3 KiB

Klausurvorbereitung

  • Es gibt keine Minuspunkte, aber halbe Punkte
  • Antwortlänge an Punkte pro Frage anpassen
  • Reihenfolgen und Sortierungsfragen auch werden auch dabei sein
  • Datentypen oder Enumwerte aus D3D9/D3D11 (z. B. WMQUITE, WMDESTROY, WMEXIT)
  • History-Inhalte aus den Folien aus den Folien kommt nicht

Transformation:(Local Space)

  • World
  • View
  • Projection

Zugelassen für Rechnungen:

  • Taschenrechner (nicht programmierbar)
  • Windows oder Physisch

Themengebiete:

Generell:
  • Graphics C ++ (z. B. warum C++ benutzen)
  • Unterschied zwischen Pointer und Handle, Pointer-Pointer
  • COM (Component Object Model von Windows)
  • generelle Graphics Programmingsachen
Fenster:
  • Fensternachrichten (Typen aus Vorlesungsfolien)
  • Messagequeue
  • Wozu braucht man Nachrichten?
  • Messagequeue-Funktion: Window Prop
Graphics -API:
  • Welche gibt es?
  • Direct 3D
  • Fixed Function vs. Programmable Pipeline
  • Elemente der Pipelines: Vertex, Mesh, Transformation, Spaces, Projektion, Primitive Types, Unterschied List vs. Strip, Texture Mapping (Was ist eine Normale?)
  • Homogenisierte Koordinaten und dessen Bedeutung
  • Berechnungen: Koordinaten, FPS, Deltatime, Größe von Strukturen
    • Beispiele:
      • Indexbuffers -> kibiByte beachten -> Indices zählen
      • Vertexbuffer berechnen (Umschrieben, nicht direkt gestellt)
      • Texturebuffer berechnen
      • Mipmapping (zählen der Stufen)
  • Textures:
    • UV-Mapping
    • UV-Tiling (Address Modes)
    • Bild von Modell und gefragt wie viele Verticies benötigt werden und welche
  • Lighting:
    • Sources, Lichtbestandteile (Ambient Light, Diffuse Light, Specular Light, Emission Light
    • Vertex- vs. Pixel-Lighting
  • Stages:
    • Screen-Stage
    • Rasterizer-Stage: Front faces /Back faces
Direct3D/DirectX:
  • Direct3D9 and Direct3D11
  • ID3D11 Device Context, IDirectDevice9
  • konkrete Datentypen aus Framework
  • ID3D11 Device vs. ID3D11 Device Context
Shader:
  • Shadertypen (6):
    • Vertex shade
    • Hall Shader
    • Domain Shader
    • Geometry Shader
    • Pixelshader
    • Computeshader
  • zu jedem Shader Grundfunktionalitäten, wozu sie da sind
  • Shader Ressources (Vertexbuffer, Indexbuffer, Constantbuffer)
  • HSL: High Level Shader Language, genereller Sinn von Semantiken in HSL
Verticies berechnen:
  • Ziel: Lichtberechnung und Texturierung
  1. Verticiesanzahl berechnen: Verticies = Ecken (4 pro Fläche)
    • 4 Verticies * 6 Flächen = 24 Verticies
    • Eine Normale pro Fläche wegrn des Lichts, deswegen 24 Verticies statt 8
  2. Vertexgröße:
    • Position: 3 Floats (x,y,z)
    • Normale: 3 Floats (x,y,z)
    • UV-Koordinaten: 2 Floats
    • 1 Float = 4 Byte ↳ 8 Floats. 4 Byles: 32 Byte pro Vertex
    • Verfexcolor: 4 Floats
    • Grafikkarte ist auf Floats optimiert
  3. Vertexbuffergröße:
    • 24 Vertexe * 32 Byte pro Vertex = 768 Byte
    • 2 Byle = 1 Word
Indexbuffer berechnen:
  • Primitive Type Lists: Triangle List (oder Linelist, Pointlist)
  • 6 Flächen, 2 Dreiecke pro Fläche
  • Mehrfachverwendung der Verticies
  • Zusatzinfos nötig für die Berechnung: Wie viele Flächen und welche Form haben die Flächen
  • wenn die Wahl frei steht: Triangle List (haben wir in der Vorlesung immer benutzt)
  • Bytegröße selbst wählen: Anzahl der Indicies muss in die Bytegröße passen
  • Berechnung:
    1. 12 Dreiecke * 3 Ecken = 36 Indicies
    2. 36 Indicies * 2 Byte = 72 Byte