Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

COMP3069 Computergrafik: Eigenständige 3D-Szene mit OpenGL und GLSL – Tutorial zur Bewertung 3 (2025)

Erstellen Sie eine animierte, interaktive 3D-Außenszene mit OpenGL, GLSL und modernen Grafik-APIs. Inklusive Modellierung, Beleuchtung, Texturen, Kameras und Anti-Aliasing – angelehnt an die COMP3069-Aufgabe 2025.

COMP3069 Computergrafik OpenGL Tutorial 2025 3D Szene OpenGL GLSL Shader Programmierung GLFW Kamera Steuerung Phong Beleuchtung OpenGL Textur Mapping GLSL Multi-Sampling Anti-Aliasing Interaktive 3D Grafik Computergrafik Hausarbeit OpenGL Projekt Uni 3D Modellierung OpenGL Spotlicht OpenGL Tag Nacht Simulation OpenGL Kamera Orbit Flug GLM Matrix Transformation

Einführung in die COMP3069 Computergrafik-Aufgabe (2025)

Die COMP3069 Computergrafik Aufgabe 3 ist der zentrale Bestandteil Ihrer Modulnote (70%). Sie müssen eine animierte, interaktive 3D-Außenszene mit OpenGL, GLFW, GLSL und GLM erstellen. Dieses Tutorial führt Sie durch die Kernkonzepte, ohne die Lösung vorwegzunehmen – es hilft Ihnen, die Anforderungen zu verstehen und kreativ umzusetzen.

Die Abgabefrist ist der 22. Dezember 2025, 16:00 Uhr. Verspätete Einreichungen werden mit 5 % pro Tag bestraft. Sie reichen ein ZIP-Archiv mit Ihrer Visual-Studio-Lösung (Code, Texturen, Shader, ausführbare Datei) und einen PDF-Bericht (2000–3000 Wörter) ein.

1. 3D-Modellierung und Transformationen

Erstellen Sie Modelle wie in der Referenz (z. B. Stanford Bunny, Utah Teapot, Drachen). Sie können Vertex-Daten manuell definieren oder prozedural generieren. Nutzen Sie 3D-Transformationen (Translation, Rotation, Skalierung), um Objekte zu positionieren und zu animieren – z. B. ein sich drehendes Rad oder ein segelndes Boot. Denken Sie an aktuelle Trends: Wie in einer KI-gesteuerten Spielewelt (z. B. Minecraft mit generierten Landschaften) können Sie prozedurale Geometrie für Bäume oder Felsen einsetzen.

Praktische Tipps zur Modellierung

  • Verwenden Sie GLM für Matrizen und Vektoren.
  • Nutzen Sie Index-Buffer, um Speicher zu sparen.
  • Animieren Sie Objekte über uniforme Variablen im Shader.

2. Beleuchtung mit drei Lichttypen

Sie müssen mindestens drei Lichtquellen implementieren: gerichtetes Licht (Sonne), punktuelles Licht (Laterne) und Spotlicht (Taschenlampe). Schalten Sie das gerichtete Licht um, um Tag/Nacht zu simulieren – ein Effekt, der an dynamische Wettersysteme in modernen Spielen wie Fortnite erinnert.

Umsetzung in GLSL

// Vertex-Shader-Auszug
#version 330 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec3 aNormal;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main() {
    gl_Position = projection * view * model * vec4(aPos, 1.0);
}

Nutzen Sie im Fragment-Shader das Phong-Beleuchtungsmodell für realistische Reflexionen.

3. Texturen und Umgebung

Wählen Sie realistische Texturen für Himmel und Fluss. Achten Sie auf nahtlose Übergänge (Seamless Textures). Aktuelle AI-gestützte Tools wie Stable Diffusion können helfen, einzigartige Texturen zu generieren – achten Sie aber auf Urheberrechte.

Texturkoordinaten richtig setzen

// Fragment-Shader mit Textur
uniform sampler2D ourTexture;
void main() {
    FragColor = texture(ourTexture, TexCoord);
}

4. Interaktive Kameras

Implementieren Sie zwei Kameratypen: Modellbetrachter (orbit um ein Objekt) und Flugkamera (freie Bewegung). Wechsel zwischen den Kameras per Tastendruck. Dies ähnelt Kameramodi in 3D-Software wie Blender oder in VR-Anwendungen.

Steuerung der Flugkamera

  • WASD für Bewegung, Maus für Blickrichtung.
  • Nutzen Sie GLFW-Callbacks für Mauseingaben.

5. Interaktive Objekte

Objekte wie das Rad sollen auf Tastendruck reagieren (z. B. Drehung starten/stoppen). Dies fördert das Verständnis von Event-Handling und Zustandsverwaltung – ähnlich wie bei interaktiven Installationen auf der Gamescom.

6. Anti-Aliasing

Wenden Sie Multisampling Anti-Aliasing (MSAA) an, um Kanten zu glätten. Aktivieren Sie es über GLFW: glfwWindowHint(GLFW_SAMPLES, 4);. Dies ist entscheidend für eine professionelle Darstellung, vergleichbar mit den glatten Grafiken in AAA-Spielen.

7. Bericht und Dokumentation

Ihr PDF-Bericht sollte Screenshots von Code und gerenderter Szene enthalten (10 %) sowie eine detaillierte Beschreibung (2000–3000 Wörter, 10 %). Erklären Sie Ihre Implementierungsschritte, Herausforderungen und wie Sie die Konzepte aus den Vorlesungen angewendet haben.

Struktur des Berichts

  1. Einleitung und Überblick
  2. Beschreibung der Szene und Modelle
  3. Beleuchtung und Texturen
  4. Kamera- und Interaktionssystem
  5. Anti-Aliasing und Optimierungen
  6. Schlussfolgerung und Reflexion

Fazit

Dieses Tutorial gibt Ihnen einen Fahrplan für die COMP3069-Aufgabe. Bleiben Sie kreativ, aber halten Sie sich an die technischen Vorgaben. Testen Sie Ihre Anwendung gründlich in Visual Studio 2022. Viel Erfolg!