blob: 1d63721c56c700f187fb9dbddcc6ab260070a865 [file] [log] [blame]
attribute highp vec3 inVertex;
attribute mediump vec3 inNormal;
attribute mediump vec2 inTexCoord;
uniform highp mat4 MVPMatrix;
uniform mediump vec3 LightDirection;
uniform mediump float DisplacementFactor;
varying lowp float LightIntensity;
varying mediump vec2 TexCoord;
uniform sampler2D sDisMap;
void main()
{
/*
Calculate the displacemnt value by taking the colour value from our texture
and scale it by out displacement factor.
*/
mediump float disp = texture2D(sDisMap, inTexCoord).r * DisplacementFactor;
/*
Transform position by the model-view-projection matrix but first
move the untransformed position along the normal by our displacement
value.
*/
gl_Position = MVPMatrix * vec4(inVertex + (inNormal * disp), 1.0);
// Pass through texcoords
TexCoord = inTexCoord;
// Simple diffuse lighting in model space
LightIntensity = dot(inNormal, -LightDirection);
}