Solvespace
26 строк · 798.0 Байт
1//-----------------------------------------------------------------------------
2// Mesh rendering shader
3//
4// Copyright 2016 Aleksey Egorov
5//-----------------------------------------------------------------------------
6uniform vec3 lightDir0;
7uniform vec3 lightDir1;
8uniform float lightInt0;
9uniform float lightInt1;
10uniform float ambient;
11
12varying vec3 fragNormal;
13varying vec4 fragColor;
14
15void main() {
16vec3 result = fragColor.xyz * ambient;
17vec3 normal = normalize(fragNormal);
18
19float light0 = clamp(dot(lightDir0, normal), 0.0, 1.0) * lightInt0 * (1.0 - ambient);
20result += fragColor.rgb * light0;
21
22float light1 = clamp(dot(lightDir1, normal), 0.0, 1.0) * lightInt1 * (1.0 - ambient);
23result += fragColor.rgb * light1;
24
25gl_FragColor = vec4(result, fragColor.a);
26}
27