30 lines
645 B
GLSL
30 lines
645 B
GLSL
#ifdef GL_ES
|
|
// Set default precision to medium
|
|
precision mediump int;
|
|
precision mediump float;
|
|
#endif
|
|
|
|
uniform mat4 vp_matrix;
|
|
uniform mat4 norm_matrix;
|
|
uniform mat4 m_matrix;
|
|
|
|
attribute vec4 a_position;
|
|
attribute vec2 a_texcoord;
|
|
attribute vec3 a_normal;
|
|
|
|
varying vec2 v_texcoord;
|
|
varying vec4 v_position;
|
|
varying vec3 v_normal;
|
|
|
|
void main()
|
|
{
|
|
// Calculate vertex position in screen space
|
|
gl_Position = vp_matrix * norm_matrix * m_matrix * a_position;
|
|
|
|
// Pass data to fragment shader
|
|
// Value will be automatically interpolated to fragments inside polygon faces
|
|
v_texcoord = a_texcoord;
|
|
v_position = a_position;
|
|
v_normal = a_normal;
|
|
}
|