mirror of
https://github.com/theoleuthardt/hwr-notes.git
synced 2026-06-06 01:51:07 +00:00
3.3 KiB
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)
- Beispiele:
- 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
- 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
- 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
- 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:
- 12 Dreiecke * 3 Ecken = 36 Indicies
- 36 Indicies * 2 Byte = 72 Byte