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
(added link to max' solar system)
(→‎Teil 2: Folien aktualisiert)
Zeile 37: Zeile 37:


=== Teil 2 ===
=== Teil 2 ===
* [http://kyrah.net/scratch/opengl/cg-intro-2.pdf Folien 2. Teil] (29.9.2007) - PDF, 1452kB
* [http://kyrah.net/scratch/opengl/cg-intro-2-reloaded.pdf Folien 2. Teil] (29.9.2007, WH 2.2.2008) - PDF, 1812 kB


''Beispiel-Code''
''Beispiel-Code''

Version vom 31. Januar 2008, 13:36 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
    2. siehe auch Max' geniale Variante mit Perspektive vom Planeten aus: solar_final3.cpp.txt

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.