rendering-textured-shape.vert 962 Bytes
attribute mediump vec3 aPosition;  // DALi shader builtin
attribute mediump vec2 aTexCoord;  // DALi shader builtin
uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
uniform   mediump mat4 uViewMatrix; // DALi shader builtin
uniform   mediump mat4 uModelView; // DALi shader builtin
uniform   mediump vec3 uSize;      // DALi shader builtin
varying mediump vec3 vIllumination;
varying mediump vec2 vTexCoord;

void main()
{
  mediump vec4 vertexPosition = vec4(aPosition, 1.0);
  mediump vec3 normal = normalize(vertexPosition.xyz);

  vertexPosition.xyz *= uSize;
  vec4 pos = uModelView * vertexPosition;

  vec4 lightPosition = vec4(400.0, 0.0, 100.0, 1.0);
  vec4 mvLightPos = uViewMatrix * lightPosition;
  vec3 vectorToLight = normalize(mvLightPos.xyz - pos.xyz);
  float lightDiffuse = max(dot(vectorToLight, normal), 0.0);

  vIllumination = vec3(lightDiffuse * 0.5 + 0.5);
  vTexCoord = aTexCoord;
  gl_Position = uMvpMatrix * vertexPosition;
}