DGL https://delphigl.com/forum/ |
|
glGetVaryingLocation findet nur eingebaute Variablen https://delphigl.com/forum/viewtopic.php?f=20&t=9127 |
Seite 1 von 1 |
Autor: | k-bal [ Do Apr 01, 2010 12:27 ] |
Betreff des Beitrags: | glGetVaryingLocation findet nur eingebaute Variablen |
Moin, Gegeben folgender Shaderkopf (so oder so ähnlich bekannt aus dem GPU Partikelsystem 2): Code: #version 120 #extension GL_EXT_gpu_shader4 : require #extension GL_EXT_geometry_shader4: require varying out vec4 velocityOut; ... In meinem Programm will ich mir die Varying Locations für Transform Feedback holen: Code: //glActiveVaryingNV(myUpdateShader->getID(), "velocityOut"); myLocMoveVelocity = glGetVaryingLocationNV(myUpdateShader->getID(), "velocityOut"); myLocMovePosition = glGetVaryingLocationNV(myUpdateShader->getID(), "gl_Position"); Bei gl_Position klappt das ganze (gibt 0 zurück), bei velocityOut gibt er mir jedoch -1 zurück. Auch glActiveVaryingNV macht keinen Unterschied. Ich bin darauf angewiesen eine vorgefertigte Shaderklasse zu benutzen und weiß leider nicht, ob es vielleicht am Kompilieren und Linken des Shaders liegt, da ich nur das Interface kenne. Habe leider keine Idee woran das liegen könnte. Habe das Partikelsystem schon zu Hause am Laufen gehabt (mit OpenGL 3.0) und versuche es jetzt in der institutseigenen Simulationssoftware (OpenGL 2.1) einzubetten. Gruß, Marius |
Autor: | Coolcat [ Do Apr 01, 2010 12:46 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Ich kann nur sagen bei mir funktioniert das so. Ist den die entsprechende Extension für Transport-Feedback überhaupt verfügbar? Es gibt da verschiedene die man nicht mit einander mischen sollte. Edit: Du erzwingst da GLSL 1.2, vielleicht solltest du 1.3 nehmen? |
Autor: | k-bal [ Do Apr 01, 2010 13:06 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
GL_NV_transform_feedback ist verfügbar und #version 130 verschafft keine Abhilfe ![]() |
Autor: | Coolcat [ Do Apr 01, 2010 13:18 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Rufst du glGetVaryingLocationNV vor oder nach dem linken auf? Bist du sicher das dieses getId() auch wirklich das Programm-Objekt zurückgibt? (die 0 von gl_Position könnte daher kommen, dass gl_Position immer 0 ist oder so) |
Autor: | k-bal [ Do Apr 01, 2010 13:20 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Danach, aber beide Varianten führen auf das exakt gleiche Ergebnis. Edit: Ich frag mal wegen GetID nach, aber das ist die einzige Funktion im Interface, die überhaupt sowas in der Art zurückgibt ![]() |
Autor: | k-bal [ Di Apr 06, 2010 10:12 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Also getID() liefert wirklich den OpenGL Identifier ![]() |
Autor: | Aya [ Di Apr 06, 2010 10:25 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Und bist du sicher das der Shader richtig compiliert und gelinkt wurde? Also evtl macht die ShaderKlasse keine kontrolle ob es fehler gab beim compilieren..? Wenn du die ID hast einfach mal selbst überprüfen. Bei meinen alten nVidia Karten war immer das problem das er das "#version" nicht kannte und deswegen nie compiliert hat - war eben ein syntax error. Aya~ |
Autor: | k-bal [ Di Apr 06, 2010 10:34 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Aya hat geschrieben: Und bist du sicher das der Shader richtig compiliert und gelinkt wurde? Also evtl macht die ShaderKlasse keine kontrolle ob es fehler gab beim compilieren..? Wenn du die ID hast einfach mal selbst überprüfen. Bei meinen alten nVidia Karten war immer das problem das er das "#version" nicht kannte und deswegen nie compiliert hat - war eben ein syntax error. Aya~ Normalerweise spuckt der automatisch alle Fehlermeldungen der Shader aus. Die Programm IDs sehen auch vernünftig aus. Die Karte ist übrigens eine 8800gtx und sollte das meines Wissens auch alles können ![]() |
Autor: | Thmfrnk [ Di Jul 17, 2012 11:40 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
wurde hier eine Lösung gefunden?? Ich stehe vor dem selben Problem.. |
Autor: | phlegmatiker [ Di Jul 17, 2012 15:16 ] |
Betreff des Beitrags: | Re: glGetVaryingLocation findet nur eingebaute Variablen |
Unter Umständen hat der Compiler die Variable einfach wegcompiliert, da sie nicht benötigt/benutzt wurde....... prüfe das doch mal... |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |