CGSG/Workshop: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
K (→‎Teil 2: moved code samples to Metalab SVN)
K (→‎Teil 1: += Musterlösung Sonnensystem)
Zeile 32: Zeile 32:
# [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws1/tricolor.cpp tricolor.cpp] Dreieck in Farbe
# [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws1/tricolor.cpp tricolor.cpp] Dreieck in Farbe
# [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws1/3ddrawing.cpp 3ddrawing.cpp] 3D-Aufgabe "Haus"
# [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws1/3ddrawing.cpp 3ddrawing.cpp] 3D-Aufgabe "Haus"
# "Hausaufgabe"
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws1/solarsystem.cpp solarsystem.cpp] Musterlösung Sonnensystem


=== Teil 2 ===
=== Teil 2 ===

Version vom 30. Januar 2008, 17:09 Uhr

OpenGL (Open Graphics Library) ist eine Spezifikation für ein plattform- und programmiersprachenunabhängiges API (Application Programming Interface) zur Entwicklung von 3D-Computergrafik. Der OpenGL-Standard beschreibt etwa 250 Befehle, die die Darstellung komplexer 3D-Szenen in Echtzeit erlauben. --Wikipedia

Nächster Termin

Da einige Leute beim 2. Teil (Beleuchtung + Texturen) nicht dabeisein konnten, wird es Anfang Februar eine Wiederholung des 2. Workshops geben.

Termin: Samstag, 2. Februar, 16:00

Inhalt: Kurze Wiederholung der Grundlagen vom 1. Teil, Beleuchtung, Texturen.

Eine weiterführende Fortsetzung (Teil 3) ist für Ende Februar/Anfang März geplant.

Unterlagen

Teil 1

Beispiel-Code

  1. Makefile – Achtung, muss für euer System angepasst werden:
    1. Mac OS X mit SDL als framwork: CFLAGS = SDLMain.m und LIBS = -framework SDL -framework Cocoa -framework OpenGL
    2. Unix (inkl. Mac OS X mit SDL als .dylib): CFLAGS = `sdl-config --cflags` und LIBS = `sdl-config --libs` -lGL -lGLU
  2. basicsdl.cpp SDL "Rahmen-Applikation"
  3. triangle.cpp weißes Dreieck auf schwarzem Hintergrund
  4. Perspektive
    1. proj_ortho.cpp orthographische Projektion
    2. proj_persp.cpp perspektivische Projektion
  5. 3 Varianten, ein Dreieck zu verschieben:
    1. transtri1.cpp Vertices modifizieren
    2. transtri2.cpp glTranslatef()
    3. transtri3.cpp Kamera-Position verändern
  6. tricolor.cpp Dreieck in Farbe
  7. 3ddrawing.cpp 3D-Aufgabe "Haus"
  8. "Hausaufgabe"
    1. solarsystem.cpp Musterlösung Sonnensystem

Teil 2

Beispiel-Code

  1. Beleuchtung
    1. firstlight.cpp einfache Lichtquelle
    2. materialcolour.cpp Materialfarben
    3. components.cpp Materialkomponenten (ambient/diffuse/specular)
    4. lightcolour.cpp Lichtfarben
    5. movinglight.cpp bewegte Lichtquelle
    6. house.cpp das "Haus" vom 1. Workshop mit Beleuchtung
  2. Needful Things
    1. keyrepeat.cpp verbesserte Tastatureingabe
    2. tba.cpp zeitbasierte Animation
    3. timer.cpp Animation mit Timer
    4. timer-waitevent.cpp Animation mit Timer und SDL_WaitEvent()
  3. Texturen
    1. texturing1.cpp Image.h Image.cpp Makefile crate.tga komplettes Beispiel zur Texturierung
    2. texturing2.cpp Texture.h Texture.cpp Makefile ditto, mit Klasse Texture


Misc.