1#version 330 2 3in vec3 vertexPosition; 4in vec3 vertexNormal; 5in vec4 vertexTangent; 6in vec2 vertexTexCoord; 7 8in vec3 dataDefinedAmbiantColor; 9in vec3 dataDefinedDiffuseColor; 10in vec3 dataDefinedSpecularColor; 11 12out vec3 worldPosition; 13out vec3 worldNormal; 14 15out DataColor { 16 vec4 ambient; 17 vec4 diffuse; 18 vec4 specular; 19} vs_out; 20 21 22uniform mat4 modelMatrix; 23uniform mat3 modelNormalMatrix; 24uniform mat4 modelViewProjection; 25 26uniform float texCoordScale; 27 28void main() 29{ 30 // Transform position, normal, and tangent to world space 31 worldPosition = vec3(modelMatrix * vec4(vertexPosition, 1.0)); 32 worldNormal = normalize(modelNormalMatrix * vertexNormal); 33 34 35 // colors defined data 36 vs_out.ambient=vec4(dataDefinedAmbiantColor,1.0); 37 vs_out.diffuse=vec4(dataDefinedDiffuseColor,1.0); 38 vs_out.specular=vec4(dataDefinedSpecularColor,1.0); 39 40 // Calculate vertex position in clip coordinates 41 gl_Position = modelViewProjection * vec4(vertexPosition, 1.0); 42} 43 44