#version 450 layout(location = 0) in vec3 vertexPosition; layout(location = 1) in vec3 vertexNormal; layout(location = 2) in vec4 vertexColor; layout(location = 0) out vec3 worldPosition; layout(location = 1) out vec3 worldNormal; layout(location = 2) out vec4 color; layout(std140, binding = 1) uniform qt3d_command_uniforms { mat4 modelMatrix; mat4 inverseModelMatrix; mat4 modelViewMatrix; mat3 modelNormalMatrix; mat4 inverseModelViewMatrix; mat4 mvp; mat4 inverseModelViewProjectionMatrix; }; void main() { worldNormal = normalize( modelNormalMatrix * vertexNormal ); worldPosition = vec3( modelMatrix * vec4( vertexPosition, 1.0 ) ); color = vertexColor; gl_Position = mvp * vec4( vertexPosition, 1.0 ); }