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
(next workshop: 2008-02-09)
(→‎Teil 3: Sample-Code aktualisiert)
Zeile 48: Zeile 48:
 
=== Teil 3 ===
 
=== Teil 3 ===
  
* [http://kyrah.net/scratch/opengl/cg-intro-3-reloaded.pdf Folien 3. Teil] (?.2.2008) - PDF, 836 kB
+
* [http://kyrah.net/scratch/opengl/cg-intro-3-reloaded.pdf Folien 3. Teil] (9.2.2008) - PDF, 836 kB
  
 
''Beispiel-Code''
 
''Beispiel-Code''
 
# Needful Things
 
# Needful Things
 +
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/tricolor_fullscreen.cpp tricolor_fullscreen.cpp] Vollbild-Modus
 
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/keyrepeat.cpp keyrepeat.cpp] verbesserte Tastatureingabe
 
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/keyrepeat.cpp keyrepeat.cpp] verbesserte Tastatureingabe
 
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/tba.cpp tba.cpp] zeitbasierte Animation
 
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/tba.cpp tba.cpp] zeitbasierte Animation
Zeile 57: Zeile 58:
 
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/timer-waitevent.cpp timer-waitevent.cpp] Animation mit Timer und SDL_WaitEvent()
 
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/timer-waitevent.cpp timer-waitevent.cpp] Animation mit Timer und SDL_WaitEvent()
 
# Texturen
 
# Texturen
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v1/texturing1.cpp texturing1.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v1/Image.h Image.h]  [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v1/Image.cpp Image.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v1/Makefile Makefile] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v1/crate.tga crate.tga] komplettes Beispiel zur Texturierung
+
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro/texturing.cpp texturing.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro/Texture.h Texture.h]  [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro/Texture.cpp Texture.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro/Makefile Makefile] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro/crate.png crate.png] Einführungsbeispiel zur Texturierung
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v2/texturing2.cpp texturing2.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v2/Texture.h Texture.h]  [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v2/Texture.cpp Texture.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/v2/Makefile Makefile] ditto, mit Klasse ''Texture''
+
## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro-expl/texturing.cpp texturing.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro-expl/Image.h Image.h]  [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro-expl/Image.cpp Image.cpp] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro-expl/Makefile Makefile] [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/textures/intro-expl/crate.png crate.png] Einführungsbeispiel ohne Abstraktion (more hardcore)
  
 
<!-- coming up in the next part  
 
<!-- coming up in the next part  

Version vom 9. Februar 2008, 00:40 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

Samstag, 9. Februar, 16:00

Inhalt: Texturen, Framerate-unabhängige Animation,...

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. Review
    1. review.cpp Wiederholung: Grundlagen
  2. 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

Teil 3

Beispiel-Code

  1. Needful Things
    1. tricolor_fullscreen.cpp Vollbild-Modus
    2. keyrepeat.cpp verbesserte Tastatureingabe
    3. tba.cpp zeitbasierte Animation
    4. timer.cpp Animation mit Timer
    5. timer-waitevent.cpp Animation mit Timer und SDL_WaitEvent()
  2. Texturen
    1. texturing.cpp Texture.h Texture.cpp Makefile crate.png Einführungsbeispiel zur Texturierung
    2. texturing.cpp Image.h Image.cpp Makefile crate.png Einführungsbeispiel ohne Abstraktion (more hardcore)


Misc.