Suche OpenGL 2.1 SDK!



  • Hi liebe Community!

    Ich habe jetzt lange genug gesucht! Immer heisst es, dass man das SDK nicht downloaden kann oder dass OpenGL mit dem Compilier mitkommt.
    Mein Compilier kam mit OpenGL 1.1 mit! Ich brauche 2.1!
    Kann mir jemand das Uploaden? Auf http://www.mediafire.com/ kann man gratis Uploaden!

    Danke im Voraus,
    X.DarkForce.X



  • Es gibt kein OpenGL SDK. OpenGL ist eine Schnittstellendefinition und keine Bibliothek die man irgendwo einfach runterladen kann. Ich rate jetzt mal und vermute dass du für Windows entwickeln willst. Das Prolem ist dabei dass Windows nicht mehr als OpenGL 1.1 unterstützt. Dein Grafiktreiber aber schon, was bedeutet dass du auf die OpenGL 2.1 Funktionalität (die im Grafiktreiber vorhanden ist auch wenn die Systembibliothek dir keinen direkten Zugriff darauf bietet) über den Extension Mechanismus von OpenGL ansprechen musst. Am einfachsten verwendest du dafür sowas wie GLEW. Wenn dus selber machen willst hol dir den glext.h Header und leg los.
    Wenn du nur für Windows entwickeln willst (d.h. andere Plattformen für dich keine Rolle spielen) kann ich nur zu Direct3D raten, imo eine sehr viel bessere API.



  • dot schrieb:

    Wenn du nur für Windows entwickeln willst (d.h. andere Plattformen für dich keine Rolle spielen) kann ich nur zu Direct3D raten, imo eine sehr viel bessere API.

    Ohoh, sowas führte hier schon zu 20+ Seiten Flamewars. 😃 (ich stimme dir allerdings zu)



  • Als ich die DirectX SDK installieren wollt meldete die Setup bei 98% einen Error! -.-



  • Und das OpenGL SDK konntest du erst gar nicht finden...naja, schaut schlecht aus würd ich mal sagen 😕

    :p



  • X.DarkForce.X schrieb:

    Als ich die DirectX SDK installieren wollt meldete die Setup bei 98% einen Error! -.-

    Welchen Error? Nochmal probieren?

    Lass dich nicht gleich am Anfang entmutigen. Bei ner LOW LEVEL API wie D3D wirst du noch vieeel Geduld und Sitzfleisch benötigen=)



  • this->that schrieb:

    [...] LOW LEVEL API wie D3D [...]

    Ok, jetzt forderst dus aber geradezu heraus :p



  • dot schrieb:

    this->that schrieb:

    [...] LOW LEVEL API wie D3D [...]

    Ok, jetzt forderst dus aber geradezu heraus :p

    ;P



  • Mit OpenGL SDK mein ich Headerfiles! Und ja, ich wills nur für Windows haben!
    Beim Programm Unigine Heaven arbeiten sie unteranderem auch mit OpenGL 4.0 (unter Windows).

    DirectX tut jetzt! Ich habs unter Vista nicht als Admin ausgeführt...



  • X.DarkForce.X schrieb:

    Mit OpenGL SDK mein ich Headerfiles!

    Wie ich schon erklärt hab bringen dir Headerfiles da nix...



  • Wenn du nur für Windows entwickeln willst (d.h. andere Plattformen für dich keine Rolle spielen) kann ich nur zu Direct3D raten, imo eine sehr viel bessere API.

    *Wut*

    Bei ner LOW LEVEL API wie D3D

    *Mordlust*

    Forder mich nicht heraus! 😡

    Wie meine Vorposter schon gesagt haben bringen dir Headerfiles oder sonst was bringen dir nix, da die Implementierung in den Treibern vorliegt. Demnach kann man nur benutzen was die jeweiligen Treiber können, was ich persöhnlich als Vorteil gegenüber D3D ansehe. Wenn man von OpenGL 4.0 spricht meint man damit nicht irgent ein SDK sondern eher ein standart dem neue erweiterungen hinzugefügt wurden, an dem sich neue Grafikkarten (sofern sie in der Khronos Group sind) halten sollten. Und mit was man besser programmieren kann ist bei OpenGL und DX eigentlich egal, denn dein GL bzw DX Code wird nur einen sehr kleinen Teil des Codes in einem Spiel ausmachen, vorallem da man diese häufig geschickt hinter wrappern versteckt, die das LOW LEVEL langsam in richtung HIGH LEVEL treiben (relativ gesehen ^^ ).



  • X.DarkForce.X schrieb:

    Mit OpenGL SDK mein ich Headerfiles! Und ja, ich wills nur für Windows haben!
    Beim Programm Unigine Heaven arbeiten sie unteranderem auch mit OpenGL 4.0 (unter Windows).

    DirectX tut jetzt! Ich habs unter Vista nicht als Admin ausgeführt...

    Du solltest mal ein Buch zu OpenGL lesen dann würdest Du Dich hier nicht so aufführen. Du willst ne SDK? Bitte: http://glew.sf.org
    Mehr wirst Du nicht bekommen. Punkt. Gründe wurden hier im Thread genannt aber die Posts hast Du nicht gelesen.
    Aber, damit Du nicht dumm sterben musst, so lädt man Funktionen aus den Treibern für OpenGL, hier am Beispiel für eine Shaderfunktion:

    PFNGLCREATEPROGRAMOBJECTARBPROC     glCreateProgramObjectARB = NULL;
    glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)
          uglGetProcAddress("glCreateProgramObjectARB");
    

    Schönes Leben noch.
    rya.



  • Es gibt schon ein OpenGL SDK, is aber wahrscheinlich nicht das, was du suchst :p (Aber dennoch einen Blick wert.)
    Damit das läuft brauchst du - wie oben genannt - den passenden Treiber, zB hier für eine nVidia Karte: http://www.nvidia.de/Download/index.aspx?lang=de



  • Scorcher24 schrieb:

    PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB = NULL;
    glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)
    uglGetProcAddress("glCreateProgramObjectARB");
    [/cpp]

    Wunderschöner Code... 🙄



  • Fakt ist doch das OpenGL low-leveliger ist als D3D.



  • [quote="Scorcher24]...aber die Posts hast Du nicht gelesen.[/quote]
    Ich habe bis jetzt jeden Post gelesen!
    Schau mal hier rein:
    http://de.wikipedia.org/wiki/OpenGL

    Soll das heissen, dass ich unter Windows alles was nach 1.1 kommt vergessen kann? Wie machen es denn andere Engines? Irrlicht hat 1.5! Unigine hat 4.0! CryEngine hat 4.1!



  • X.DarkForce.X schrieb:

    Soll das heissen, dass ich unter Windows alles was nach 1.1 kommt vergessen kann? Wie machen es denn andere Engines? Irrlicht hat 1.5! Unigine hat 4.0! CryEngine hat 4.1!

    Lies doch mal meinen ersten Post 🙄



  • X.DarkForce.X schrieb:

    Soll das heissen, dass ich unter Windows alles was nach 1.1 kommt vergessen kann? Wie machen es denn andere Engines? Irrlicht hat 1.5! Unigine hat 4.0! CryEngine hat 4.1!

    Bist Du so schwer von Begriff oder tust Du nur so?
    Du kannst Dir alles was nicht OpenGL 1.5 ist, aus den Treibern von ATI und OpenGL laden als Funktionszeiger. Windows unterstützt OpenGL nativ bis 1.5. Nur die Treiber der Grafikkarten fügen mehhr hinzu. Mit Hilfe von Libs wie GLew sparst Du dir den Prozess das aus den Dateien zu laden. Du musst aber trotzdem testen, ob dieser Code in den Treibern unterstützt wird.
    Beispiel aus Code von mir:

    bool NLShaderLoader::isAvailable()
    {	
    	return ( glewGetExtension("GL_ARB_fragment_program") && 
    			 glewGetExtension("GL_ARB_vertex_program")   &&
    			 glewGetExtension("GL_ARB_shader_objects")   &&
    			 glewGetExtension("GL_ARB_shading_language_100"));
    }
    

    So testet man ob der Code lauffähig ist auf einem System. In diesem Bsp. für Shader.
    Hoffe Du hast es jetzt verstanden. -.-
    rya.



  • Fakt ist doch das OpenGL low-leveliger ist als D3D.

    Finde ich nicht. Natürlich ist es mit OpenGL ein wenig mehr arbeit einen Buffer zu erstellen oder Shader zu laden, aber sonst ist eigentlich zwischen OpenGL und DX kein unterschied, bis auf dass DX OOP ist und GL eine State machine.

    Außerdem ist OpenGL in manchen Sachen auch schneller als DX, z.B. Drawcalls 😉 *Jetzt muss ich den DX'lern auch mal auf die Füße treten*



  • Potatoman schrieb:

    Finde ich nicht. Natürlich ist es mit OpenGL ein wenig mehr arbeit einen Buffer zu erstellen oder Shader zu laden, aber sonst ist eigentlich zwischen OpenGL und DX kein unterschied, bis auf dass DX OOP ist und GL eine State machine.

    Außerdem ist OpenGL in manchen Sachen auch schneller als DX, z.B. Drawcalls 😉 *Jetzt muss ich den DX'lern auch mal auf die Füße treten*

    In D3D hast du genau die selbe Arbeit mit Shadern und Buffern. Ausserdem hat OOP absolut nichts mit einer State Machine zu tun. D3D ist OOP und ist genauso eine State Machine (wenn auch etwas indirekter mit den Immutable State Blocks)

    Und das Argument mit den "schnelleren Drawcalls" ist auch ein Nullargument. Klar sind einige OGL Draw Calls schneller - dafuer machen sie auch weniger. In D3D sind einige DrawCalls teurer, dafuer kannst du mit einem Drawcall eine halbe Szene auf einmal rendern. Das schenkt sich insgesamt nicht viel.


Anmelden zum Antworten