This commit is contained in:
2026-02-24 17:29:48 +08:00
parent 26e00f9fea
commit 205fb2da8c
6 changed files with 227 additions and 14 deletions

28
shader/heatmap.vert Normal file
View File

@@ -0,0 +1,28 @@
#version 330 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec2 aUV;
out vec2 vUV;
out vec3 vWorldPos;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
uniform sampler2D uHeightTex;
uniform float uMinV;
uniform float uMaxV;
uniform float uHeightScale;
uniform float uBaseZ;
float value01(float v) {
return clamp((v - uMinV) / max(uMaxV - uMinV, 1e-6), 0.0, 1.0);
}
void main() {
vUV = aUV;
float v = texture(uHeightTex, aUV).r;
float h = value01(v) * uHeightScale;
vec3 world = aPos + vec3(0.0, 0.0, uBaseZ + h);
vWorldPos = world;
gl_Position = projection * view * model * vec4(world, 1.0);
}