PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie lernt man am besten OpenGL?


Expandable
2005-12-29, 12:33:58
Hallo Leute,

ich habe mich in den letzten Tagen sehr intensiv mit OpenGL auseinandergesetzt. Ich habe dazu das Buch "OpenGL Game Programming" von K. Hawkins und D. Astle benutzt, das jetzt auch schon einige Jahre auf dem Buckel hat, sowie verschiedene Internetquellen.

Ich habe das Buch recht gewissenhaft durchgearbeitet, d.h., alle Beispiele zuerst versucht selbst zu lösen, bevor ich mir den abgedruckten Source Code angesehen hab (nur das Kapitel über WINAPI und wie man ein Fenster erstellt hab ich übersprungen, weil mich das jetzt noch überhaupt nicht interessiert hat und bislang auch noch nicht wirklich wichtig war für die ersten OpenGL-Apps (also für den OpenGL-Teil, wichtig war's natürlich schon, um überhaupt was zu sehen ;)).

Das hat soweit auch ganz gut geklappt. Nun habe ich also geschlagene vier Tage damit verbracht, die absoluten Grundlagen zu lernen: Primitives, die verschiedenen Matrizen, Lighting und Materials sowie die Anfänge von Texturen.

Mit anderen Worten: Erst nach ganzen vier Tagen war ich in der Lage, einen Würfel zeichnen zu lassen, der auf jeder Seite die gleiche Textur hat, sich um den Vektor (1, 1, 0) dreht, sowie drei Lichter hat, die sich um ihn drehen (also quasi in seinem "Orbit" sind) und ihn beleuchten.

Für die Beleuchtung habe ich Per Pixel Lighting genommen, wofür ich mir einen Vertex- und Fragment-Shader geschrieben habe. Dafür habe ich einen ganzen Tag gebraucht, weil ich erst mal ewig gebraucht habe, um überhaupt herauszufinden, wie man denn OpenGL dazu überredet, auf die Shader-Objekte/-Programme zuzugreifen - OpenGL 1.1 und Microsoft sei dank. Außerdem habe ich auch nur ein einziges halbwegs brauchbares Tutorial im Internet gefunden (http://www.lighthouse3d.com/opengl/glsl/), welches GLSL in Verbindung mit OpenGL (!! - es gab hingegen viele Tutorials, die NUR die Syntax von und Shader-Programme in GLSL besprechen, aber nicht, wie man z.B. Variablen an einen Shader aus OpenGL heraus übergibt).

Lange Rede, kurzer Sinn: Ich wollte nur mal diejenigen hier im Forum fragen, die OpenGL bereits können: Ist das normal oder bin ich schlichtweg zu dumm für OpenGL? Kennt jemand gute Tutorials für GLSL in OpenGL (bzw. OpenGL-Programmierung MIT GLSL)?

Ach ja: Ich habe mir auch mal kurz Direct3D angeschaut. Sagt mir gar nicht zu. Managed D3D ist zwar ganz nett, aber irgendwie erscheint mir OpenGL sauberer zu sein... jedenfalls ist mir da viel verständlicher, was die einzelnen Funktionen tun. Vielleicht hatte ich aber auch bloß das falsche Tutorial ;)

Senior Sanchez
2005-12-29, 13:30:26
Ich kann zwar kein OpenGL aber ich denke du stellst dich weder dämlich an noch war es bei jemandem, der es kann, am Anfang anders.

So ists halt wenn man sich in etwas vollkommen neues reinarbeitet. Anfangs braucht man viel zeit, denkt vllt an manche Dinge nicht und quält sich durch Dinge die einfach nicht so wollen wie man es gerne möchte. Aber mit der Zeit kommt die Erfahrung und dann kann man das ;) Der Anfang ist immer der schwerste, aber du zeigst Biss, damit sollte dem nix im Wege stehen dass du es bald kannst. (das klang gerade voll nachm Spruch ausm TV Casting *g*)


mfg

Trap
2005-12-29, 16:00:34
OpenGL selbst ist recht einfach (wenn man programmieren kann, homogene Koordinaten/lineare Transformationen versteht und die ersten Hürden wie OpenGL+MS genommen hat).

OpenGL dazu zu benutzen hübsche Bilder zu erzeugen ist der eigentlich schwierige Teil.

Coda
2005-12-29, 16:39:21
Ach ja: Ich habe mir auch mal kurz Direct3D angeschaut. Sagt mir gar nicht zu. Managed D3D ist zwar ganz nett, aber irgendwie erscheint mir OpenGL sauberer zu sein... jedenfalls ist mir da viel verständlicher, was die einzelnen Funktionen tun. Vielleicht hatte ich aber auch bloß das falsche Tutorial ;)Die nehmen sich beide nichts.

AlSvartr
2005-12-29, 17:29:02
Nun habe ich also geschlagene vier Tage damit verbracht, die absoluten Grundlagen zu lernen: Primitives, die verschiedenen Matrizen, Lighting und Materials sowie die Anfänge von Texturen.
Oeh...tschuldige, aber findest du wirklich, dass 4 Tage so viel sind? Was hast du erwartet? :S

Andererseits scheinst du doch damit gerechnet zu haben, dass es diese Zeit in Anspruch nehmen wird...sonst haettest du doch recht schnell frustriert vor lauter Ungeduld aufgegeben ;)

Expandable
2005-12-29, 23:33:23
Oeh...tschuldige, aber findest du wirklich, dass 4 Tage so viel sind? Was hast du erwartet? :S

Andererseits scheinst du doch damit gerechnet zu haben, dass es diese Zeit in Anspruch nehmen wird...sonst haettest du doch recht schnell frustriert vor lauter Ungeduld aufgegeben ;)

Mir war schon klar, dass das etwas länger dauern würde. Mir war aber NICHT klar, dass man für so etwas einfaches so lange brauchen würde. Wollte nur mal wissen, ob das normal ist, oder ob ich für die OpenGL-Programmierung einfach nicht geeignet bin... aber gut zu wissen, dass ich doch noch im Rahmen zu liegen scheine...

EcHo
2005-12-30, 00:20:32
Ich habe es mit dem Red Book gelernt, ist denke ich DIE Referenz.

Bis du aber was richtig "Hinzaubern" kannst, vergehen bei OpenGL sicher die ein oder anderen Tage....

Chris Lux
2006-01-01, 13:43:34
NeHe (http://nehe.gamedev.net/)

dies ist DIE opengl tutorial seite. aber du scheinst schon ein paar davon überspringen zu können, vor allem da du auf einem recht hohen level angefangen hast (shader usw). aber schau es dir mal an.

Elladan
2006-01-01, 14:40:56
Hey,
Folgende Seiten beziehen sich allgemein auf Delphi und OpenGL:

Besuche folgende Seiten:
www.delphiGL.de
Eine private Seite mit vielen Tutorials (die manchmal jedoch leicht umständlich sind)

www.delphiGL.com
Diese Seite besitzt ein sehr gutes Forum, viele Tutorials und wichtige Dateien.
Sie haben eine eigene Wikipedia:
http://wiki.delphigl.com/index.php/Hauptseite
Von den Machern werden sogenannte "Trampelpfade" für Einsteiger empfohlen:
http://wiki.delphigl.com/index.php/Einsteigerpfad