Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Sc4v

Alter Hase

  • »Sc4v« ist der Autor dieses Themas

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

1

22.05.2013, 16:14

[OpenGL] ComputeShader

Hi zusammen,

zu meinem Problem:
Ich versuche compute shader unter openGL 4.2 unter 2 verschiedenen Konfigs zum laufen zu bekommen:
AMD HD 5850
Sony Vaio Notebook mit NVidia 640GT LE
natürlich alles neuste Graka Treiber.
Im Prinzip dachte ich, da beide Grafikkarten OpenGL 4.2 unterstüzen, dass compute shader damit funktionieren :hmm:
Ich benutze diesen Code und dennoch findet er die CS Bezeichner nicht (GL_COMPUTE_SHADER, glDispatchCompute)...

Hat jemand eine Idee was ich falsch mache oder unterstützen die beiden Karten schlichtweg keine ComputeShader (was in diesem Falle echt kritisch wäre -.-)... falls die das nicht tun muss ich wohl oder übel auf DX11 wechseln... habe ich noch nie und die Zeit drängt leider ziemlich... Was glaubt ihr wie schwer der Umstieg von openGL auf dx11 ist? (2 jahre openGL erfahrung)

Thx & Grüße,
Sc4v

Sc4v

Alter Hase

  • »Sc4v« ist der Autor dieses Themas

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

2

22.05.2013, 20:22

Ok habe mich dann doch mal selber ran gesetzt und kompilieren tuts jetzt.
Hier findet ihr den Code

Ich habe früher mit Glut gearbeitet und bin deswegen nicht vertraut mit GLEW und GLFW... irgendwas geht hier gehörig schief.
Wenn ich das Programm ausführe wird ein GL_INVALID_ENUM geworfen.
Lasse ich folgenden code weg

C-/C++-Quelltext

1
2
3
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 4); 
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL


dann startet das Programm zwar, aber mein Grafikkartentreiber stürzt ab. Wenn ich glDispatchCompute in der updateTex Methode auskommentiere startet das Programm.
Hoffe ihr könnt mir helfen, bin grade übermüdet und verzweifelt 8|

Grüße,
Sc4v


(Code basiert größtenteils auf dem hier )

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sc4v« (22.05.2013, 20:55)


Moe

Frischling

Beiträge: 85

Wohnort: München

  • Private Nachricht senden

3

24.05.2013, 00:45

Ohne deinen Code gelesen zu haben: ComputeShader wurden mit OpenGL 4.3 eingeführt, davor musst Du Extentions oder OpenCL verwenden.

Sc4v

Alter Hase

  • »Sc4v« ist der Autor dieses Themas

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

4

24.05.2013, 01:40

Ja schon richtig, allerdings sind diese mit OpenGL 4.2 kompatibel.
Es scheint ein AMD Treiberproblem zu sein... auf NVidia Karten läuft das Programm reibungslos. Nach der Installation des 13.5 beta2 Treibers stürtzt meine Karte zwar nicht mehr ab, das Ergebnis ist jedoch nicht das erwartete und meine Anzeige weißt deutliche Fehler auf... sieht auch nicht sehr gesund aus... amd: :thumbdown:

Werbeanzeige