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 springenKyrah (Diskussion | Beiträge) (Code-Beispiele vom 2. Workshop) |
Kyrah (Diskussion | Beiträge) (Cleanup, upcoming workshop) |
||
Zeile 1: | Zeile 1: | ||
− | + | '''''[http://www.opengl.org/ 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.'' --[[wde:OpenGL|Wikipedia]] | |
− | ''von [[ | ||
− | + | == Nächster Termin == | |
− | + | Da einige Leute beim 2. Teil (Beleuchtung + Texturen) nicht dabeisein konnten, wird es Anfang Februar eine Wiederholung des 2. Workshops geben. | |
− | + | Inhalt: Kurze Wiederholung der [http://kyrah.net/scratch/opengl/cg-intro-1.pdf Grundlagen vom 1. Teil], Beleuchtung, Texturen. | |
− | + | Wer Interesse hat, möge bitte im folgenden seine Terminpräferenzen kundtun :) | |
− | + | * Samstag, 2. Februar, 16:00 [[Benutzer:Kyrah|+]] | |
+ | * Sonntag, 3. Februar, 16:00 [[Benutzer:Kyrah|+]] | ||
+ | * Samstag, 9. Februar, 16:00 [[Benutzer:Kyrah|+]] | ||
+ | * Sonntag, 10. Februar, 16:00 [[Benutzer:Kyrah|+]] | ||
− | + | Eine weiterführende Fortsetzung (Teil 3) ist für Ende Februar/Anfang März geplant. | |
− | |||
== Unterlagen == | == Unterlagen == | ||
− | === | + | === Teil 1 === |
− | |||
− | * [http://kyrah.net/scratch/opengl/cg-intro-1.pdf Teil | + | * [http://kyrah.net/scratch/opengl/cg-intro-1.pdf Folien 1. Teil] (15.9.2007) – PDF, 1052kB |
− | |||
− | '' | + | ''Beispiel-Code'' |
# [http://kyrah.net/scratch/opengl/src/Makefile Makefile] – Achtung, muss für euer System angepasst werden: | # [http://kyrah.net/scratch/opengl/src/Makefile Makefile] – Achtung, muss für euer System angepasst werden: | ||
## Mac OS X mit SDL als framwork: <code>CFLAGS = SDLMain.m</code> und <code>LIBS = -framework SDL -framework Cocoa -framework OpenGL</code> | ## Mac OS X mit SDL als framwork: <code>CFLAGS = SDLMain.m</code> und <code>LIBS = -framework SDL -framework Cocoa -framework OpenGL</code> | ||
Zeile 39: | Zeile 38: | ||
# [http://kyrah.net/scratch/opengl/src/06_3ddrawing.cpp 06_3ddrawing.cpp] 3D-Aufgabe "Haus" | # [http://kyrah.net/scratch/opengl/src/06_3ddrawing.cpp 06_3ddrawing.cpp] 3D-Aufgabe "Haus" | ||
− | + | === Teil 2 === | |
+ | * [http://kyrah.net/scratch/opengl/cg-intro-2.pdf Folien 2. Teil] (29.9.2007) - PDF, 1452kB | ||
+ | |||
+ | ''Beispiel-Code'' | ||
# Beleuchtung | # Beleuchtung | ||
## [http://kyrah.net/scratch/opengl/src/07-firstlight.cpp 07-firstlight.cpp] einfache Lichtquelle | ## [http://kyrah.net/scratch/opengl/src/07-firstlight.cpp 07-firstlight.cpp] einfache Lichtquelle | ||
Zeile 66: | Zeile 68: | ||
// --> | // --> | ||
− | |||
− | |||
− | == | + | == Misc. == |
− | |||
− | |||
− | |||
− | |||
+ | * '''Nate Robins' Tutorials:''' Die von mir gezeigten Demos zu Projektion, Transformationen, &c. könnt ihr von von [http://www.xmission.com/~nate/tutors.html Nate Robins' Website] herunterladen. | ||
+ | * [[Media:Solar_final2.cpp.txt|solar_final2.cpp.txt]] Musterlösung Sonnensystem | ||
+ | * [[Media:Solar_final3.cpp.txt|solar_final3.cpp.txt]] Musterlösung Sonnensystem mit Kamera auf Planet | ||
* [[Media:SharpGL House.zip|SharpGL House]] 3D-Aufgabe "Haus" ([http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio 2008]; [http://www.dopecode.co.uk/sharpgl/index.php SharpGL]) – ''(contributed by MovGP0)'' | * [[Media:SharpGL House.zip|SharpGL House]] 3D-Aufgabe "Haus" ([http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio 2008]; [http://www.dopecode.co.uk/sharpgl/index.php SharpGL]) – ''(contributed by MovGP0)'' | ||
* [http://www.opengl.org/resources/faq/technical/projection_abuse.php Help stamp out GL_PROJECTION abuse]; mehr zum thema GL_PROJECTION / gluLookAt | * [http://www.opengl.org/resources/faq/technical/projection_abuse.php Help stamp out GL_PROJECTION abuse]; mehr zum thema GL_PROJECTION / gluLookAt | ||
* http://www.glprogramming.com/red/ - sehr praktischer guide | * http://www.glprogramming.com/red/ - sehr praktischer guide | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Kategorie:Workshops]] | [[Kategorie:Workshops]] |
Version vom 21. Januar 2008, 15:43 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.
Inhalt: Kurze Wiederholung der Grundlagen vom 1. Teil, Beleuchtung, Texturen.
Wer Interesse hat, möge bitte im folgenden seine Terminpräferenzen kundtun :)
- Samstag, 2. Februar, 16:00 +
- Sonntag, 3. Februar, 16:00 +
- Samstag, 9. Februar, 16:00 +
- Sonntag, 10. Februar, 16:00 +
Eine weiterführende Fortsetzung (Teil 3) ist für Ende Februar/Anfang März geplant.
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:
- 01_basicsdl.cpp SDL "Rahmen-Applikation"
- 02_triangle.cpp weißes Dreieck auf schwarzem Hintergrund
- Perspektive
- 03_proj_ortho.cpp orthographische Projektion
- 03_proj_persp.cpp perspektivische Projektion
- 3 Varianten, ein Dreieck zu verschieben:
- 04_transtri1.cpp Vertices modifizieren
- 04_transtri2.cpp glTranslatef()
- 04_transtri3.cpp Kamera-Position verändern
- 05_tricolor.cpp Dreieck in Farbe
- 06_3ddrawing.cpp 3D-Aufgabe "Haus"
Teil 2
- Folien 2. Teil (29.9.2007) - PDF, 1452kB
Beispiel-Code
- Beleuchtung
- 07-firstlight.cpp einfache Lichtquelle
- 07-materialcolour.cpp Materialfarben
- 07-components.cpp Materialkomponenten (ambient/diffuse/specular)
- 07-lightcolour.cpp Lichtfarben
- 07-movinglight.cpp bewegte Lichtquelle
- 07-house.cpp das Haus aus der Aufgabe vom letzten Mal mit Beleuchtung
- Needful Things
- 08-movinglight-keyrepeat.cpp verbesserte Tastatureingabe
- 08-timer.cpp Animation mit Timer
- 08-timer-waitevent.cpp Animation mit Timer und SDL_WaitEvent()
08-notimer-waitevent.cpp Animation OHNE Timer und SDL_WaitEvent()
- Texturen
- 09-texturing.cpp Image.h Image.cpp Makefile crate.tga komplettes Beispiel zur Texturierung
- 09-texturing-abstracted.cpp Texture.h Texture.cpp Makefile-abstracted 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