62b27f1d81
We currently only support access chains that end in a matrix by propagating "needs transpose" flag upstream which flips the matrix multiplication order. It's possible to support indexed extraction as well, however it would have to generate code like this: vec4 row = vec4(UBO[0].y, UBO[1].y, UBO[2].y, UBO[3].y); for a column equivalent of: vec4 row = UBO[1]; It is definitely possible to do so but it requires signaling the vector output that it needs to switch to per-component extraction which is a bit more trouble than this is worth for now.
11 lines
192 B
GLSL
11 lines
192 B
GLSL
#version 310 es
|
|
|
|
uniform vec4 UBO[8];
|
|
in vec4 aVertex;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = (mat4(UBO[0], UBO[1], UBO[2], UBO[3]) * aVertex) + (aVertex * mat4(UBO[4], UBO[5], UBO[6], UBO[7]));
|
|
}
|
|
|