perf: skip terrain distance pass when unused

This commit is contained in:
Richard Zink committed 2026-10-13 20:24:37 +02:00
1 parent d4eabfa738
commit 8ea8316b19
1 file changed
+2 -2
+2 -2
View File
@@ -2518,7 +2518,7 @@ var terrainDistW = 0;
var terrainDistH = 0;
var terrainDistOk = false;
function ensureTerrainDistFbo(gl, w, h) {
if ((!FRONT_HAZE_ON && !CLOUDS_ON) || w <= 0 || h <= 0) { terrainDistOk = false; return false; }
if ((!FRONT_HAZE_ON && !(CLOUDS_ON && CLOUD_TERRAIN_OCCLUSION)) || w <= 0 || h <= 0) { terrainDistOk = false; return false; }
if (terrainDistFbo && terrainDistW === w && terrainDistH === h) return terrainDistOk;
if (terrainDistFbo) {
gl.deleteFramebuffer(terrainDistFbo);
@@ -7758,7 +7758,7 @@ window.clouds3dRender = function(target) {
gl.enableVertexAttribArray(terr.aColor);
gl.vertexAttribPointer(terr.aColor, 3, gl.FLOAT, false, STRIDE, 32);
}
var distPassOk = (FRONT_HAZE_ON || CLOUDS_ON) && ensureTerrainDistFbo(gl, canvas.width, canvas.height);
var distPassOk = (FRONT_HAZE_ON || (CLOUDS_ON && CLOUD_TERRAIN_OCCLUSION)) && ensureTerrainDistFbo(gl, canvas.width, canvas.height);
if (distPassOk) {
gl.bindFramebuffer(gl.FRAMEBUFFER, terrainDistFbo);
gl.viewport(0, 0, terrainDistW, terrainDistH);