DGL https://delphigl.com/forum/ |
|
Einelementige uniform-Arrays mit Intel-Grafik https://delphigl.com/forum/viewtopic.php?f=20&t=11056 |
Seite 1 von 1 |
Autor: | glAwesome [ Do Dez 26, 2013 00:52 ] |
Betreff des Beitrags: | Einelementige uniform-Arrays mit Intel-Grafik |
Moin, vorhin hatte ich folgendes Phänomen: Code:
Dieser Code compiliert (und linkt mit VS) einwandfrei und im Shader- und Program-Log steht "No errors." - egal ob ich meine Intel- oder Nvidia-Grafik verwende. Jedoch liefert der Aufruf von Code:
Kann man das als Fehler im Treiber bezeichnen? (Der hat ja eigentlich nie Schuld...) |
Autor: | Pivi [ Do Dez 26, 2013 23:55 ] |
Betreff des Beitrags: | Re: Einelementige uniform-Arrays mit Intel-Grafik |
Hi, ich hatte das gleiche Problem mit NVidia und AMD Treibern. Beim NVidia Treiber muss ich Array-Uniforms mit Array-Index ansprechen und bei AMD ohne. Kann sein das Intel das auch ohne Array-Index macht (weis ich aber nicht). Im Shader: Code:
und in Delphi: Code:
vielleicht liegt es daran. Gruß |
Autor: | glAwesome [ So Dez 29, 2013 00:38 ] |
Betreff des Beitrags: | Re: Einelementige uniform-Arrays mit Intel-Grafik |
Danke für deine Antwort. Das Prüfen, von welchem Hersteller die Grafikkarte ist, ist aber eigentlich nicht im Sinne von OpenGL. Ziel von OpenGL ist doch eigentlich, eine plattformunabhängige API bereitzustellen, so dass alles gleich funktioniert, auch wenn die Hardware verschieden ist. Für mich sieht das so aus, als wenn der Intel-Treiber eine "Optimierung" vornimmt, die aus einem Array eine gewöhnliche Variable macht. Ich glaube nicht, dass das zulässig ist. |
Autor: | Bergmann89 [ So Dez 29, 2013 01:10 ] |
Betreff des Beitrags: | Re: Einelementige uniform-Arrays mit Intel-Grafik |
Hey, glAwesome hat geschrieben: Ziel von OpenGL ist doch eigentlich, eine plattformunabhängige API bereitzustellen, so dass alles gleich funktioniert, auch wenn die Hardware verschieden ist. Ist richtig, aber wir hatten da schon öfter Probleme. Besstes Beispiel sind varyings. Die sind eigentlich deprecated, man soll "in" und "out" nutzen, ABER: NVIDIA will "varying out/in" und AMD will nur "in/out". "varying" geht aber bei beiden.Mach doch zum Test einfach mal ein Array mit 2 Elementen in dein uniform, dann weißt du was es ist... MfG Bergmann. |
Autor: | glAwesome [ So Dez 29, 2013 01:17 ] |
Betreff des Beitrags: | Re: Einelementige uniform-Arrays mit Intel-Grafik |
Also bei mir akzeptiert der Nvidia-Treiber das in/out und warnt sogar, wenn ich varying verwende, dass dies deprecated ist. Voraussetzung für in/out ist natürlich, dass man die #version-Direktive entsprechend gesetzt hat. Wenn ich das uniform-Array auf 2 oder mehr Elemente vergrößere, funktioniert wie gesagt alles. Das Problem ist also bisher eher theoretisch. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |