mirror of
https://github.com/theoleuthardt/hwr-notes.git
synced 2026-06-06 02:01:08 +00:00
docs: add obsidian hwr docs
This commit is contained in:
parent
b2636f4b92
commit
850aa3455d
245 changed files with 30757 additions and 0 deletions
96
Grafik/Hackbarth/Klausurthemen.md
Normal file
96
Grafik/Hackbarth/Klausurthemen.md
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
# 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**
|
||||
Loading…
Add table
Add a link
Reference in a new issue