OpenGL Buch gesucht, am besten auf Deutsch. Englisch geht auch.
-
Hallo, ich bin auf der Suche nach einem sehr ausführlichem OpenGL Buch, welches auf aktuelle OpenGL versionen (Opengl 3.0++) eingeht.
Da die meisten Bücher nicht gerade billig sind, würde ich mich zuerst ein wenig Meinungen einholen.
Da ich mich ein wenig informiert habe, habe ich schon gewisse Bücher ins Auge gefasst:
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1
OpenGL Superbible: Comprehensive Tutorial and Reference
Diese Werke sollen angeblich gut sein, sind natürlich auch teuer. Könnt ihr diese Bücher mir empfehlen oder andere Bücher empfehlen? Oder gibts da etwa gute Sachen als freies ebook?
Auf deutsch wäre es mir noch lieber.
Ich suche etwas, das über die nehe opengl tutorials hinaus geht.
Es sollte von Anfang an OpenGL (am besten unter Verwendung von glut) einführen und im Laufe des Buchs detailliert auf OpenGL eingehen. (Also net nur ein Schnupperkurs)Meine Vorkenntnisse in OpenGL gehen gegen 0.
Es sollte auch nicht gerade auf eine bestimmte Plattform begrenzt sein.Habt ihr irgendwelche Empfehlungen für mich?
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
OpenGL Programming Guide
Kann ich ohne Einschränkung empfehlen. Ist wirklich ein super Buch.
-
hey
dachte ich mach mir keinen neuen thread auf.
Ich bin "gezwungen" aufgrund eines Projektes eine 3d API zu lernen und da für Anwendungsprogrammierung anscheinend openGL besser geeignet sein soll als DirectX,
bin ich gerade auf der Suche nach einem Buch bzw. Tutorial.
Allerdings scheinen mir sämtliche Tutorials und Bücher veraltet, allenfalls 2.1.Ist der Unterschied zwischen 2.1 und 3.0/3.1 zu vernachlässigen oder sind dass 2 Welten? Und ist openGL wirklich die bessere Wahl?
BTW: Es handelt sich bei dem Projekt um eine Art 3D-Modelierungsprogramm (eine Art winz-3dsmax in Vue7 Manier :D)Danke
-
Schoeniaw(koq) schrieb:
hey
dachte ich mach mir keinen neuen thread auf.
Ich bin "gezwungen" aufgrund eines Projektes eine 3d API zu lernen und da für Anwendungsprogrammierung anscheinend openGL besser geeignet sein soll als DirectX,
bin ich gerade auf der Suche nach einem Buch bzw. Tutorial.
Allerdings scheinen mir sämtliche Tutorials und Bücher veraltet, allenfalls 2.1.Ist der Unterschied zwischen 2.1 und 3.0/3.1 zu vernachlässigen oder sind dass 2 Welten? Und ist openGL wirklich die bessere Wahl?
BTW: Es handelt sich bei dem Projekt um eine Art 3D-Modelierungsprogramm (eine Art winz-3dsmax in Vue7 Manier :D)Danke
Du kannst 2.1 weiterhin verwenden, die Treiber haben alle die entsprechenden Funktionen drin. Der größte Unterschied ist, dass es keinen intermediade mode mehr gibt, sprich glBegin() und glEnd() veraltet sind. Stattdessen verwendet man Arrays:
GLint matrixMode; glGetIntegerv(GL_MATRIX_MODE, &matrixMode); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); glTranslatef(this->getPosX(), this->getPosY(), m_zorder); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glTexCoordPointer(2, GL_FLOAT, 0, &m_texCoords[0]); glVertexPointer(3, GL_FLOAT, 0, &m_vertices[0]); glDrawArrays(GL_QUADS, 0, 4); glDisableClientState(GL_TEXTURE_COORD_ARRAY); glDisableClientState(GL_VERTEX_ARRAY); glPopMatrix(); glMatrixMode(matrixMode);
So als Beispiel aus meinem Code.
Die besten Tutorials meiner Meinung nach sind die von nehe und das Delphi-Wiki für OpenGL. Ja Delphi. Die Calls sind die selben und Delphi können muss man nicht um aus dem Wiki nutzen zu ziehen, solange man an FUnktionsweise und nicht an Copy&Paste interessiert ist. Und das bisschen Delphi versteht man irgendwann auch :P.
http://wiki.delphigl.com
http://nehe.gamedev.net/
Bei Nehe gibts auch bereits neue Tutorials die sich mit dieser einscheidenden Änderung befassen und zum anfangen gibts imho nix besseres.
Bedenke auch, dass 2.1 oder 3.0 nicht auf allen Systemen verfügbar ist, man sollte also immer Fallback-Code schreiben oder es als Vorraussetzung angeben.
rya.
-
Und damit man die Calls nicht aus der DLL laden muss, nimmt man am besten glew.
http://glew.sf.net
edit: Sorry wegen doppelpost
rya.
-
Kein Ding. Lieber 2 Antworten als garkeine
Okay danke dann werde ich mich mal an nehe versuchen, denke ich.
Ist ein Buch trotzdem zu empfehlen oder wir dort sowieso alles behandelt?Und ist denn managed directX eine Alternative oder ist openGL da wirklich signifikant besser geeignet? Denn eigtl bin ich ja eher der DXler
Mfg
-
Sind die NeHe-Tutorials wirklich aktuell? Vor einiger Zeit habe ich damit auch ein wenig OpenGL gelernt, aber dort wird z.B. dauernd
glBegin()
undglEnd()
verwendet...
-
Nexus schrieb:
Sind die NeHe-Tutorials wirklich aktuell? Vor einiger Zeit habe ich damit auch ein wenig OpenGL gelernt, aber dort wird z.B. dauernd
glBegin()
undglEnd()
verwendet...Es gibt mittlerweile neue.
http://nehe.gamedev.net/wiki/NewLessons.ashxUnd ist denn managed directX eine Alternative oder ist openGL da wirklich signifikant besser geeignet? Denn eigtl bin ich ja eher der DXler
Öhm naja geschmackssache. Gehen wird es am Ende mit beiden, aber OpenGL ist Cross-Platform. Wenn du noch QT nimmst als Widget-Lib hast eine gute BAsis um das Programm auf allen Platformen laufen zu lassen.
rya.
-
Nexus schrieb:
aber dort wird z.B. dauernd
glBegin()
undglEnd()
verwendet...Was ist daran verkehrt?
-
Kóyaánasqatsi schrieb:
Nexus schrieb:
aber dort wird z.B. dauernd
glBegin()
undglEnd()
verwendet...Was ist daran verkehrt?
Ist nach dem aktuellen Standard >3 nicht mehr erlaubt.
rya.
-
Scorcher24 schrieb:
Ist nach dem aktuellen Standard >3 nicht mehr erlaubt.
rya.Warum? Gibt es schon was neues?
-
Scorcher24 schrieb:
Schoeniaw(koq) schrieb:
hey
dachte ich mach mir keinen neuen thread auf.
Ich bin "gezwungen" aufgrund eines Projektes eine 3d API zu lernen und da für Anwendungsprogrammierung anscheinend openGL besser geeignet sein soll als DirectX,
bin ich gerade auf der Suche nach einem Buch bzw. Tutorial.
Allerdings scheinen mir sämtliche Tutorials und Bücher veraltet, allenfalls 2.1.Ist der Unterschied zwischen 2.1 und 3.0/3.1 zu vernachlässigen oder sind dass 2 Welten? Und ist openGL wirklich die bessere Wahl?
BTW: Es handelt sich bei dem Projekt um eine Art 3D-Modelierungsprogramm (eine Art winz-3dsmax in Vue7 Manier :D)Danke
Du kannst 2.1 weiterhin verwenden, die Treiber haben alle die entsprechenden Funktionen drin. Der größte Unterschied ist, dass es keinen intermediade mode mehr gibt, sprich glBegin() und glEnd() veraltet sind. Stattdessen verwendet man Arrays:
GLint matrixMode; glGetIntegerv(GL_MATRIX_MODE, &matrixMode); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); glTranslatef(this->getPosX(), this->getPosY(), m_zorder); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glTexCoordPointer(2, GL_FLOAT, 0, &m_texCoords[0]); glVertexPointer(3, GL_FLOAT, 0, &m_vertices[0]); glDrawArrays(GL_QUADS, 0, 4); glDisableClientState(GL_TEXTURE_COORD_ARRAY); glDisableClientState(GL_VERTEX_ARRAY); glPopMatrix(); glMatrixMode(matrixMode);
So als Beispiel aus meinem Code.
Die besten Tutorials meiner Meinung nach sind die von nehe und das Delphi-Wiki für OpenGL. Ja Delphi. Die Calls sind die selben und Delphi können muss man nicht um aus dem Wiki nutzen zu ziehen, solange man an FUnktionsweise und nicht an Copy&Paste interessiert ist. Und das bisschen Delphi versteht man irgendwann auch :P.
http://wiki.delphigl.com
http://nehe.gamedev.net/
Bei Nehe gibts auch bereits neue Tutorials die sich mit dieser einscheidenden Änderung befassen und zum anfangen gibts imho nix besseres.
Bedenke auch, dass 2.1 oder 3.0 nicht auf allen Systemen verfügbar ist, man sollte also immer Fallback-Code schreiben oder es als Vorraussetzung angeben.
rya.
-
die neuen Nehe Lessons gehen aber noch nicht sehr weit...
wird das Tut noch erweitert?
oder muss ich doch besser ein Buch kaufen?Und wenn ja welches?
Ein Blick auf Amazon gibt fast nur 2.0 Bücher und selbst der Programming Guide soll veraltete Sachen lehren...
Empfehlungen?
-
Scorcher24 schrieb:
Öhm naja geschmackssache. Gehen wird es am Ende mit beiden, aber OpenGL ist Cross-Platform. Wenn du noch QT nimmst als Widget-Lib hast eine gute BAsis um das Programm auf allen Platformen laufen zu lassen.
rya.Naja da ich sowieso .NET und WinForms verwende, hat sich das ziemlich schnell erledigt
-
ravenheart schrieb:
die neuen Nehe Lessons gehen aber noch nicht sehr weit...
wird das Tut noch erweitert?
oder muss ich doch besser ein Buch kaufen?Und wenn ja welches?
Ein Blick auf Amazon gibt fast nur 2.0 Bücher und selbst der Programming Guide soll veraltete Sachen lehren...
Empfehlungen?
Kombinier einfach die alten mit den neuen Tutorials und nimm DelphiGL als Nachschlagewerk. Und du kannst Gefahrlos OpenGL in der Version 2.0 verwenden. Die 3.0 unterstützt momentan eh nur NVIDIA und das nur Treiberseitig. Ausserdem kannst Du mit Hilfe von glew noch festlegen, welche Version von OpenGL Dir zur Kompilierzeit zur Verfügung stehen soll.
http://glew.sf.net.Naja da ich sowieso .NET und WinForms verwende, hat sich das ziemlich schnell erledigt
Tja, dann nimm gleich DirectX, weil der Cross-Platform Vorteil fällt ja weg. Oder nutz wenigstens Mono.
Ich finde aber die Kombo OpenGL+QT immer noch am besten. Ja ich weiss ich bin Idealist :D.
rya.
-
Noch mal eine dumme Frage, aber:
Gibt es Unterschiede in der Grafischen Darstellung (mal abgesehen von eventuellen neuen Techniken) zwischen neuen und alten Versionen ?Naja also ehrlich gesagt ist mir Plattformunabhängigkeit nicht so wichtig. 90% benutzen laut Statistik sowieso Windows und da ich nicht glaube, dass man sich um meine Software reißen wird, ist dass doch eine ganz akzeptable Zielgruppe
-
Schoeniaw(koq) schrieb:
Noch mal eine dumme Frage, aber:
Gibt es Unterschiede in der Grafischen Darstellung (mal abgesehen von eventuellen neuen Techniken) zwischen neuen und alten Versionen ?Naja also ehrlich gesagt ist mir Plattformunabhängigkeit nicht so wichtig. 90% benutzen laut Statistik sowieso Windows und da ich nicht glaube, dass man sich um meine Software reißen wird, ist dass doch eine ganz akzeptable Zielgruppe
Das jetzt ne doofe Frage. Natürlich schaut das besser aus wenn Du Shader benutzt oder Multitexturing etc. Wenn wir aber mal von einem normal gefärbten Quad oder Poly ausgehen, das entweder im intermediate Mode oder über Array oder VBO gezeichnet wird, so gibt es keinen Unterschied in der Darstellung.
Zu der Statistik: Trau keiner Statistik die du nicht selber gefälscht hast. Und nur weil 90% angeblich Windows nutzen, so hat Linux im Heimbereich stark zugenommen. Und es gibt gerade bei den GrafikFans bzw Modelfans sehr viele die Mac nutzen! Und das sollte man schon in Betracht ziehen. Es ist nicht die Frage wieviel Leute insgesamt ein OS nutzen, sondern wieviel % von deiner ZIELGRUPPE nutzen ein bestimmtes OS? Ich denke da schauts schon anderes aus.
rya.
-
Ja klar, schon... Nur bin ich kein selbstständiger Programmierer noch bin ich drauf angewiesen
Ich bin 16 und mache dass mehr für mich selbst. Klar wäre es schön, Geld zu verdienen, doch ich bin da realistisch. Es wäre schon ein Erfolg etwas Geld zu verdienen, da reichen mir auch ein paar Windowsler
-
Ja klar, schon... Nur bin ich kein selbstständiger Programmierer noch bin ich drauf angewiesen
Ich bin 16 und mache dass mehr für mich selbst. Klar wäre es schön, Geld zu verdienen, doch ich bin da realistisch. Es wäre schon ein Erfolg etwas Geld zu verdienen, da reichen mir auch ein paar Windowsler
Und das mit der Darstellung: Mir ist natürlich klar, dass neueres besser aussieht
Ich meinte jetzt vorallem die Grunddarstellung. Techniken, die im Laufe der Zeit dazu gekommen sind, müssten ja dann rein optional sein.
Danke für deine Hilfe hat mir sehr geholfen.