| #version 310 es |
| |
| layout(std140) uniform UBO |
| { |
| uniform mat4 uMVP; |
| uniform vec3 rotDeg; |
| uniform vec3 rotRad; |
| uniform ivec2 bits; |
| }; |
| |
| layout(location = 0) in vec4 aVertex; |
| layout(location = 1) in vec3 aNormal; |
| |
| layout(location = 0) out vec3 vNormal; |
| layout(location = 1) out vec3 vRotDeg; |
| layout(location = 2) out vec3 vRotRad; |
| layout(location = 3) out ivec2 vLSB; |
| layout(location = 4) out ivec2 vMSB; |
| |
| void main() |
| { |
| gl_Position = inverse(uMVP) * aVertex; |
| vNormal = aNormal; |
| vRotDeg = degrees(rotRad); |
| vRotRad = radians(rotDeg); |
| vLSB = findLSB(bits); |
| vMSB = findMSB(bits); |
| } |