29 lines
370 B
GLSL
29 lines
370 B
GLSL
|
#version 400
|
||
|
|
||
|
uniform bl {
|
||
|
uniform mat4 m4;
|
||
|
uniform mat3 m3;
|
||
|
} bName;
|
||
|
|
||
|
in vec3 v3;
|
||
|
|
||
|
vec3 xf(mat3 m, vec3 v)
|
||
|
{
|
||
|
return v * m;
|
||
|
}
|
||
|
|
||
|
mat3 Mat3(mat4 m)
|
||
|
{
|
||
|
return mat3(m[0].xyz, m[1].xyz, m[2].xyz);
|
||
|
}
|
||
|
|
||
|
vec3 mxv(mat4 m4, vec3 v)
|
||
|
{
|
||
|
return v * Mat3(m4);
|
||
|
}
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
gl_Position = vec4(mxv(bName.m4, v3) + xf(bName.m3, v3), 1.0);
|
||
|
}
|