-
Ritter
www.delphigl.com hat einige sehr gute deutsche Tutorials zum Thema OpenGL, vor allem was den technischen Hintergrund (Buffer&Co) angeht. Da GL-Programmierung unter allen sprachen identisch ist, kannst du auch als c'ler damit was anfangen.
Ansonsten ist das Redbook (OpenGL Programming Guide) und das Blue Book (Reference) zu empfehlen. Beide gibt es in einer etwas älteren Version unter www.opengl.org zum Download.
Was die Sache OpenGL vs. Direct3D angeht. Technisch gesehen geben sich beide APIs nichts. Es gibt glaube ich nichts großartiges, was die eine API kann und die andere nicht. Performancetechnisch eigentlich auch kein Unterschied zu nennen, oder falls es einen gibt, ist er zu vernachlässigen (Performanceverluste sind sowieso eher auf den Programmierer zurückzuführen, aber das kennen wir ja *g*).
Ich habe im Grunde keine Erfahrung was DirectX / Direct3D angeht, aber ich meine gehört zu haben, die OpenGL-API sei leichter zu lernen und zu verstehen als DirectX, aber das ist wie gesagt dritte Quelle.
Was, bei der Entscheidung, eine Rolle spielen kann sind die Fakten, daß DirectX Windows-only ist, während OpenGL cross-kompatibel ist. Daneben muss natürlich ein entsprechender Treiber vorhanden sein. DirectX kann man im Grunde auf jedem PC vorraussetzen, auf dem jemand ein Spiel spielen will. Für OpenGL reicht meistens der mitgelieferte Treiber von Windows nicht mehr aus. Das bedeutet wenn du ein Spiel in OpenGL schreibst, muss der Spieler einen aktuellen Treiber für seine Grafikkarte installiert haben. Hardcore-Gamer haben das mit Sicherheit, andere Gelegenheitsspieler vielleicht eher nicht. Das ist dann wohl eher eine Frage der Zielgruppe und welche Features du sowieso benutzen willst. (Ob jetzt OpenGL 1.2 oder 2.0 bzw. DirectX 8.0 oder 9.0)
Was den Code des Nehe-Tuts angeht, kann ich nur vermuten (as said keine eigene Erfahrung mit Blending), aber hier wird jeder Stern in einem eigenen glBegin() glEnd() Block gerendert, während du beide Quads in einem solchen Block hattest, vielleicht liegt es daran.
Ich bleib aber dabei, um Stellen transparent darzustellen ist Blending mMn mit Kanonen auf Spatzen zu schießen. Guck ob du einen Loader für Formate mit Alpha-Kanal findest, und benutz den Alpha-Test. Blending ist ein spezieller netter Effekt, der glaube ich kaum zum Basiswissen für OpenGL gehört.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln