- The shader variable alignment is as follows: (I'll only cover the basic floats here, but the principle applies all round)
- vec4 - 4N
- vec3 - 4N
- vec2 - 2N
- float - N
DGL https://delphigl.com/forum/ |
|
Block Uniform https://delphigl.com/forum/viewtopic.php?f=20&t=11338 |
Seite 1 von 1 |
Autor: | mathias [ Mi Feb 04, 2015 23:00 ] |
Betreff des Beitrags: | Block Uniform |
In dem Shader-Object habe ich colx als vec3 deklariert. Wieso funktioniert die Übergabe bei glBufferData mit TVector4f und mit TVector3f nicht ? Mit TVector3f wird mein Object rot, anstelle grün. Es müsste ja eigentlich umgekehrt sein. ![]() Code:
Code:
|
Autor: | end [ Do Feb 05, 2015 03:45 ] |
Betreff des Beitrags: | Re: Block Uniform |
Lies dir mal die Spec vom std140 Speicherlayout durch ![]() Faustregel: Es wird oft nach vec4 aligned. |
Autor: | mathias [ Do Feb 05, 2015 18:01 ] |
Betreff des Beitrags: | Re: Block Uniform |
http://www.opentk.com/node/2926 Da ist es beschrieben, wie std140 funktioniert. Code:
Komischweise geht dies auch nicht, obwohl dort packed steht. Code:
Bei diesem Code müsste bei der ID-Ermittlung eine 2 kommen. aber bei mir kommt eine 0. Code:
Code:
Bei inPos, kommt eine 3. ![]() Code:
|
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |