OpenGL einstieg
-
Ich wollte gerade den Einstieg in OpenGL machen, da ich nun die WinAPI verstehe und mit c++ soweit ganz gut zurecht komme.
Jedoch würde man es nicht glauben doch ich finde kein SDK...
Also meine Frage wo gibt es ein akutelles sdk? Am liebsten wäre mir ein installer für win64. Ich werde mit visual studio 2010 programmieren also sollte das mit dem auch hinhauenkann mir da wer weiterhelfen?
-
Sowas wie ein OpenGL SDK gibt es nicht. OpenGL ist mehr oder weniger im Betriebssystem eingebaut, die opengl32.lib hast du bereits. Ein gutes Tutorial findest du hier.
Wenn du allerdings keinen besonderen Wert darauf legst, dass der selbe Code auch auf anderen Systemen als Windows läuft, oder du unbedingt (warum auch immer) meinst, dass nur OpenGL dich glücklich machen kann, dann wäre meine persönliche Empfehlung, Direct3D zu lernen.
-
ich werde directx im anschluss lernen. Jedoch möchte ich erst opengl versuchen, da mir das sympathischer ist. Doch meine Frage ich habe so etwas hier gesehen: http://www.videotutorialsrock.com/
was ich gerne als kleinen einstieg genommen hätte und anschließend wenn es meinen ansprüchen entspricht ein Buch lesen.
Doch hier wird im ersten Tutorial ein sdk installiert. Sprich die ganzen header. von wo bekomme ich diese?
Es muss ja irgendwo ein sdk geben mit den ganzen header dateien usw.
-
Nein, dein Betriebssystem hat die schon. Wenn du gleich anfangen willst und nicht erstmal umständlich einen Kontext erstellen möchtest, sei dir zu SFML geraten, das ist gleich noch plattformunabhängig.
-
opengl_newbie schrieb:
Es muss ja irgendwo ein sdk geben mit den ganzen header dateien usw.
Nein, gibt es nicht.
-
und was wird dann dort in den videos alles eingebunden?
oder mit was soll man denn bitte entwickeln?
-
opengl_newbie schrieb:
und was wird dann dort in den videos alles eingebunden?
Hab mir die Videos jetzt nicht angeschaut, aber vermutlich GLUT, GLEW, oder andere entsprechende Bibliotheken, die sich darum kümmern, dir ein Fenster zu basteln, in das du dann mit OpenGL malen kannst. Ein OpenGL SDK existiert jedenfalls nicht, kann es rein prinzipiell schon nicht geben, da OpenGL keine Bibliothek, sondern ein Standard, also ein Stück Papier, ist. Wie OpenGL genau implementiert ist, hängt von der jeweiligen Plattorm ab. Unter Windows wäre das eben opengl32.dll und WGL. Die Frage nach einem OpenGL SDK ist also in etwa gleich sinnvoll wie die Frage nach einem C++ SDK...
EDIT: Der erklärt das in dem ersten Video doch eh ganz genau!?
-
Oh man.. guck dir doch einfach SFML an. OpenGL ist nur ein Standard, eine Liste mit Definitionen für Befehle. Dein Compiler liefert die entsprechnde Library und die Header mit. Unter Windows brauchst du z.B. die Header
#include <windows.h> #include <GL/gl.h> #include <GL/glu.h>
Aber wie gesagt, das erstellen eines OpenGL-Kontext ist echt ein Krampf (das macht man vielleicht einmal zu lernzwecken und dann nie wieder, aber wenn du OpenGL lernen willst dann lerne OpenGL, das Kontexterstellen gehört dann eher in den Bereich WinAPI/..)
Deswegen nutze einfach SFML - siehe auch das Tutorial "using OpenGL".
-
Wie schon gesagt wurde. Den Kontext erstellt man sich am einfachsten mittels einer der etablierten Libs... also z.B. SFML. (Kleine Notiz: Wenn du Win7/aktuelle Radeon Treiber verwendest kann es mit der 1.6 Probleme geben, welche man aber umgehen kann wenn man statisch linkt!)
Weil etwas einfacheres als das hier wirst du nicht finden:
App.Create(sf::VideoMode(resolutionX, resolutionY, 32), "WINDOW TEXT");
Außerdem übernimmt sfml dir auch das ganze Gewusel mit Maus/Tastatur und anderen Ereignissen.
Um an alle aktuellen Funktionen von OpenGL ranzukommen gibts dann noch das hier: http://glew.sourceforge.net/
Der Rest ist darauf zu achten das man sich nicht zu viele veraltete OpenGL Tutorials anschaut.
-
dot schrieb:
opengl_newbie schrieb:
und was wird dann dort in den videos alles eingebunden?
Hab mir die Videos jetzt nicht angeschaut, aber vermutlich GLUT, GLEW, oder andere entsprechende Bibliotheken, die sich darum kümmern, dir ein Fenster zu basteln, in das du dann mit OpenGL malen kannst. Ein OpenGL SDK existiert jedenfalls nicht, kann es rein prinzipiell schon nicht geben, da OpenGL keine Bibliothek, sondern ein Standard, also ein Stück Papier, ist. Wie OpenGL genau implementiert ist, hängt von der jeweiligen Plattorm ab. Unter Windows wäre das eben opengl32.dll und WGL. Die Frage nach einem OpenGL SDK ist also in etwa gleich sinnvoll wie die Frage nach einem C++ SDK...
EDIT: Der erklärt das in dem ersten Video doch eh ganz genau!?
Das nützt nicht viel. Denn erstens weiß ich nicht ob das aktuell ist 2. ist der setup den er auf seiner seite hat nur für 32 bit...
-
Was brauchst du da für ein Setup? Aktuell ist so eine Sache was OpenGL angeht. Das Tutorial ist, was ich so gesehen hab, altes OpenGL und GLUT ist eben auch alles andere als modern. Aber naja, ein Tutorial für modernes OpenGL hab ich ja in meinem ersten Posting schon verlinked...
-
ok danke für die aufschlussreiche info. Ich habe bis jetzt immer opengl mit directx irgendwo gleichgesetzt bis auf die paar großen unterschiede wie, dass dx nur für windows ist usw.
-
Siehe http://www.c-plusplus.net/forum/285147
@Osbios
GLEW ist leider nicht OpenGL 3+ kompatibel. Daher sollte man lieber gl3w nehmen. (Siehe Link oben)
-
rüdiger schrieb:
GLEW ist leider nicht OpenGL 3+ kompatibel.
Inwiefern?
-
dot schrieb:
rüdiger schrieb:
GLEW ist leider nicht OpenGL 3+ kompatibel.
Inwiefern?
Siehe die verlinkte FAQ :). GLEW benutzt glGetString(GL_EXTENSIONS) und der Aufruf ist deprecated. http://www.c-plusplus.net/forum/p2090128#2090128
-
ah, stimmt.