27 lines
549 B
GLSL
27 lines
549 B
GLSL
#version 330 core
|
|
in vec2 vUV;
|
|
in vec3 vWorldPos;
|
|
out vec4 FragColor;
|
|
|
|
uniform sampler2D uHeightTex;
|
|
uniform float uMinV;
|
|
uniform float uMaxV;
|
|
uniform float uHeightScale;
|
|
uniform vec2 uTexelSize;
|
|
uniform vec2 uPlaneSize;
|
|
uniform vec3 uCameraPos;
|
|
uniform vec3 uLightDir;
|
|
uniform vec3 uColorZero;
|
|
uniform vec3 uColorLow;
|
|
uniform vec3 uColorMid;
|
|
uniform vec3 uColorHigh;
|
|
|
|
float saturate(float x) {
|
|
return clamp(x, 0.0, 1.0);
|
|
}
|
|
|
|
float value01(float v) {
|
|
return saturate((v - uMinV) / max(uMaxV - uMinV, 1e-6));
|
|
}
|
|
|
|
float maxNeighborValue(vec2 uv) |