1
0
mirror of synced 2024-09-24 19:48:21 +02:00
Switch-Toolbox/Toolbox/Shader/Bone.vert
2019-10-19 17:49:20 -04:00

26 lines
596 B
GLSL

#version 330
in vec4 point;
uniform mat4 mtxCam;
uniform mat4 mtxMdl;
uniform mat4 bone;
uniform mat4 parent;
uniform mat4 rotation;
uniform mat4 ModelMatrix;
uniform int hasParent;
uniform float scale;
void main()
{
vec4 position = bone * rotation * vec4(point.xyz * scale, 1);
if (hasParent == 1)
{
if (point.w == 0)
position = parent * rotation * vec4(point.xyz * scale, 1);
else
position = bone * rotation * vec4((point.xyz - vec3(0, 1, 0)) * scale, 1);
}
gl_Position = mtxCam * mtxMdl * ModelMatrix * vec4(position.xyz, 1);
}