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 ;)
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 ;)