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 springenNex (Diskussion | Beiträge) |
K (url fix) |
||
Zeile 56: | Zeile 56: | ||
''Beispiel-Code'' | ''Beispiel-Code'' | ||
# Needful Things | # Needful Things | ||
− | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ | + | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/keyrepeat.cpp keyrepeat.cpp] verbesserte Tastatureingabe |
− | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ | + | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/tba.cpp tba.cpp] zeitbasierte Animation |
− | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ | + | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ws3/animation/timer.cpp timer.cpp] Animation mit Timer |
− | ## [https://whatever.metalab.at/user/kyrah/opengl/workshops/ | + | ## [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/ | + | ## [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/ | + | ## [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'' |
<!-- coming up in the next part | <!-- coming up in the next part |
Version vom 4. Februar 2008, 11:50 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
Inhalt: Texturen, Framerate-unabhängige Animation
Terminvorschläge:
- Samstag, 9. Februar, 16:00 + + +
- Sonntag, 10. Februar, 16:00 + + +
- Samstag, 23. Februar, 16:00 + + +
Unterlagen
Teil 1
- Folien 1. Teil (15.9.2007) – PDF, 1052kB
Beispiel-Code
- Makefile – Achtung, muss für euer System angepasst werden:
- Mac OS X mit SDL als framwork:
CFLAGS = SDLMain.m
undLIBS = -framework SDL -framework Cocoa -framework OpenGL
- Unix (inkl. Mac OS X mit SDL als .dylib):
CFLAGS = `sdl-config --cflags`
undLIBS = `sdl-config --libs` -lGL -lGLU
- Mac OS X mit SDL als framwork:
- basicsdl.cpp SDL "Rahmen-Applikation"
- triangle.cpp weißes Dreieck auf schwarzem Hintergrund
- Perspektive
- proj_ortho.cpp orthographische Projektion
- proj_persp.cpp perspektivische Projektion
- 3 Varianten, ein Dreieck zu verschieben:
- transtri1.cpp Vertices modifizieren
- transtri2.cpp glTranslatef()
- transtri3.cpp Kamera-Position verändern
- tricolor.cpp Dreieck in Farbe
- 3ddrawing.cpp 3D-Aufgabe "Haus"
- "Hausaufgabe"
- solarsystem.cpp Musterlösung Sonnensystem
- siehe auch Max' geniale Variante mit Perspektive vom Planeten aus: solar_final3.cpp.txt
Teil 2
- Folien 2. Teil (29.9.2007, WH 2.2.2008) - PDF, 1812 kB
Beispiel-Code
- Review
- review.cpp Wiederholung: Grundlagen
- Beleuchtung
- firstlight.cpp einfache Lichtquelle
- materialcolour.cpp Materialfarben
- components.cpp Materialkomponenten (ambient/diffuse/specular)
- lightcolour.cpp Lichtfarben
- movinglight.cpp bewegte Lichtquelle
- house.cpp das "Haus" vom 1. Workshop mit Beleuchtung
Teil 3
- (Folien siehe PDF für den 2. Teil)
Beispiel-Code
- Needful Things
- keyrepeat.cpp verbesserte Tastatureingabe
- tba.cpp zeitbasierte Animation
- timer.cpp Animation mit Timer
- timer-waitevent.cpp Animation mit Timer und SDL_WaitEvent()
- Texturen
- texturing1.cpp Image.h Image.cpp Makefile crate.tga komplettes Beispiel zur Texturierung
- texturing2.cpp Texture.h Texture.cpp Makefile ditto, mit Klasse Texture
Misc.
- Nate Robins' Tutorials: Die von mir gezeigten Demos zu Projektion, Transformationen, &c. könnt ihr von von Nate Robins' Website herunterladen.
- solar_final2.cpp.txt Musterlösung Sonnensystem
- solar_final3.cpp.txt Musterlösung Sonnensystem mit Kamera auf Planet
- SharpGL House 3D-Aufgabe "Haus" (Visual Studio 2008; SharpGL) – (contributed by MovGP0)
- Help stamp out GL_PROJECTION abuse; mehr zum thema GL_PROJECTION / gluLookAt
- http://www.glprogramming.com/red/ - sehr praktischer guide