wie kann ich mit OpenGL anfragen, welche Shaderversion verfügbar ist? (also 1.1, 1.2 ... bis halt aktuell 3.0)
Ich habe zwar schon im Wiki die Sache zu den Extensions gelesen, aber wie kan jetzt konkret an die Version kommt, habe ich nicht gefunden(abgesehen von dem ATI-NVIDIA-spezifischem Zeug).
_________________ __________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Dafür gibt es die Konstanten GL_ARB_shading_language_xxx, wobei das xxx für die passende unterstütze GLSL-Version steht. 100 bedeutet also Untersützung der GLSL-Spezifikation 1.00, 110 für 1.10 usw.
Sowas wie Shadermodell 2.0 bzw. 3.0 gibts bei glsl aber nicht, nur Hardware die SM2.0 unterstützt kann überhaupt glsl und glsl hat auch einige Merkmale von SM 3.0 (z.B. Schleifen, etc), aber eine Versionsanalogie zu den Shadermodellen aus Direct3D gibts hier nicht.
Soweit ich weiß hat das ARB aber mit GL_ARB_shading_language_xxx zugegeben, einen kleinen Designfehler gemacht zu haben und hat angekündigt, keine weitere Version mehr herauszubringen. Wie man die Fähigkeiten des Shaders bestimmen soll, weiß ich im Moment aber leider auch nicht.
Edit: Ich habs gerade zufällig herausgefunden:
glGetString(GL_SHADING_LANGUAGE_VERSION) ist nun der richtige Weg.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.