→ Slide 1

Einführung in die Computergrafik und Bildverarbeitung

Wintersemester 2021/22

→ Slide 2
  • Feedback Studienleistung 1
  • Studienleistung 3
  • Shader Basics
→ Slide 3
  • in Bewertung
  • insgesamt ordentlich, gute Kommentare
→ Slide 4

Entwickeln Sie eine Anwendung, die eine 3D-Welt, organisiert in einem Szenengraph, darstellt. Zur Implementierung können OpenGL Immediate Mode oder GLSL-Shader verwendet werden.

Abgabe: Do, 13 Januar 2022 (5 Bonuspunkte - pro angefangener weiterer Woche 1 Punkt weniger)

Verpflichtende Features:

  • Anzeigen einer simplen 3D-Szene mit mindestens drei Objekten
  • Rotation und Zoom der Szene mit der Tastatur
  • Objekte haben unterschiedliche Farben
→ Slide 5

Wahlpflichtfeatures (3 Features):

  • Rotation/Zoom der Szene mit der Maus
  • Bewegen in der Szene mittels Maus / Tastatur
  • Eine Lichtquelle, entsprechendes Shading
  • mehrere Lichtquellen, entsprechendes Shading
  • mindestens ein Bildfilter (fragment shader), z.B. Weichzeichner
  • Animation mindestens eines Objekts (abschaltbar)
  • Selektion von Objekten mit der Maus möglich (dann z.B. Farbänderung, Animation)
  • Laden von Modellen mittels zusätzlicher Bibliothek
→ Slide 6

Regeln:

  • bei Verwendung fremder Code-Beispiele: Quellenangabe im Text
  • als Framework PyOpenGL oder moderngl verwenden
  • Abgabe von Quellcode und kurzer Video-Demo (ca. 1 Minute)
→ Slide 7
→ Slide 8
  • werden einmal pro Pixel im Bild aufgerufen, geben Farbwert zurück
  • Eingabeparameter: Bildposition (vec2 fragCoord)
  • Ausgabewert: Pixelfarbe (vec4 fragColor, RGBA)
  • Zeichnen in 2D: Kreis
  • Blur-Filter (nicht Gaussscher Weichzeichner, nicht effizient): https://www.shadertoy.com/view/Xltfzj
→ Slide 9
  • werden einmal pro Vertex aufgerufen
  • Eingabeparameter: Vertex-Koordinaten (vec3)
  • Ausgabewert: Vertex-Koordinaten, indem globale Variable glPosition gesetzt wird.
  • nicht direkt von ShaderToy unterstützt
→ Slide 10
→ Slide 11
  • 3D-Engines
  • Mesh-Animationen
  • Rotation mittels Quaternionen
  • Texturierung
→ Slide 12
  • GLSL in Python verwenden
  • Fragestunde zur Studienleistung 2
→ Slide 13
  • Wrap-Up 3D
  • Intro Computer Vision / OpenCV