// Fragment Shader (Bake Stage) varying vec2 TexCoord; varying float vHeight; varying vec3 vWorldNormal; uniform sampler2D Texture; // Текстура камня (rock.png) uniform vec3 uLightDir; // Направление света для базового затенения камней при запекании void main() { vec4 stoneColor = texture2D(Texture, TexCoord); // Простое Lambert-освещение, чтобы камни не были "плоскими" в текстуре //float diff = max(dot(normalize(vWorldNormal), normalize(uLightDir)), 0.3); float diff = 1.0; // RGB - цвет камня с учетом света, A - нормализованная высота //gl_FragColor = vec4(stoneColor.rgb * diff, vHeight); gl_FragColor = vec4(vHeight, vHeight, vHeight, vHeight); //gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0); }