21 lines
894 B
Plaintext
21 lines
894 B
Plaintext
// 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);
|
|
} |