fix:make zerocolor edge

This commit is contained in:
lennlouisgeek
2026-02-04 03:18:20 +08:00
parent ca3545b8b0
commit 001685b633
157 changed files with 31832 additions and 32681 deletions

View File

@@ -47,6 +47,14 @@ float maxNeighborValue(vec2 uv) {
return max(max(v00, v10), max(v01, v11));
}
vec3 colorRampWithZero(float t) {
const float zeroW = 0.005;
float blend = smoothstep(0.0, zeroW, t);
float tRamp = saturate((t - zeroW) / max(1.0 - zeroW, 1e-6));
vec3 ramp = colorRamp(tRamp);
return mix(uColorZero, ramp, blend);
}
void main() {
vec3 N = normalize(vNormal);
vec3 L = normalize(uLightDir);
@@ -63,7 +71,7 @@ void main() {
float eps = max(1e-4, 0.001 * (uMaxV - uMinV));
float force = smoothstep(uMaxV - eps, uMaxV, m);
t = max(t, force);
vec3 base = isZero ? uColorZero : colorRamp(t);
vec3 base = isZero ? uColorZero : colorRampWithZero(t);
vec3 col = base * (0.35 + 0.65 * diff);
col += vec3(1.0) * spec * 0.10;