34 lines
512 B
GLSL
34 lines
512 B
GLSL
[[vertex]]
|
|
|
|
uniform mat4 mvp;
|
|
|
|
in vec4 pos;
|
|
in vec3 nor;
|
|
in vec2 uvs;
|
|
out vec3 n;
|
|
out vec2 uv;
|
|
|
|
void main()
|
|
{
|
|
n = nor;
|
|
uv = uvs;
|
|
gl_Position = mvp * pos;
|
|
}
|
|
|
|
[[fragment]]
|
|
|
|
uniform mediump sampler2D tex;
|
|
uniform mediump vec3 light_dir;
|
|
uniform mediump float ambient;
|
|
|
|
in mediump vec3 n;
|
|
in mediump vec2 uv;
|
|
out mediump vec4 frag;
|
|
|
|
void main()
|
|
{
|
|
mediump float d = max(0.0, dot(normalize(n), normalize(light_dir)));
|
|
mediump vec4 c = texture(tex, uv);
|
|
frag = vec4(c.rgb * d + ambient, 1.0);
|
|
}
|