English version below
Im Praxisteil der Veranstaltung mussten der gelernte Stoff implementiert werden.
Der Code im Package lenz/opengl wurde vom Professor bereit gestellt.
Behandelte Themen:
- Lightweight Java Gaming Library (LWJGL)
- Vertex Array Object (VAO)
- Vertex Buffer Object (VBO)
- Daten Übergabe an Shader
- Renderpipeline
- Vertex Shader
- Fragment Shader
- Geometry und Tessellation Shader (keine Implementierung)
- OpenGL Shading Language (GLSL)
- Transformationen
- Translation, Rotation, Skalierung
- Projection-, View- & Modelmatrix
- Licht
- Phong-Beleuchtungsmodell
- Schatten
- Physically-Based Rendering (keine Implementierung)
- Texturen
- Texturkoordinaten
- Sampling
- Texture Mapping-Techniken
Weitere Features:
- Kamerabewegung
- Translation
- Rotation mit Quaternionen
- sehr einfacher .obj File Reader
English version
In the exercise part of the course the learned material had to be implemented.
The code in the package lenz/opengl was provided by the professor.
In the practical part of the course, the material learned had to be implemented.
Covered Topics:
- Lightweight Java Gaming Library (LWJGL)
- Vertex Array Object (VAO)
- Vertex Buffer Object (VBO)
- Data passing to shader
- Render pipeline
- Vertex Shader
- Fragment Shader
- Geometry and Tessellation Shader (not implemented)
- OpenGL Shading Language (GLSL)
- Transformations
- Translation, Rotation, Scaling
- Projection-, View- & Model Matrix
- Light
- Phong lighting model
- Shadows
- Physically-Based Rendering (not implemented)
- Textures
- Texture coordinates
- Sampling
- Texture Mapping Techniques
Other features:
- Camera movement
- Translation
- Rotation using Quaternions
- very simple .obj file reader