Background
Version: git master and 7.44.0
Browser: any
Engine: any
Playground: Babylon.js Playground
Desc
In DepthRenderer, effects are expected to be cached, not rebuilt every frame, to save performance.
Actual
As shown in this playground, createEffect(depth)
is called every frame, means the effect cache does not work.
The effect.defines
is always null after creation.
Expected
Effects are not rebuilt if defines not changed.
--- a/packages/dev/core/src/Rendering/depthRenderer.ts
+++ b/packages/dev/core/src/Rendering/depthRenderer.ts
@@ -544,7 +544,8 @@ export class DepthRenderer {
shaderLanguage: this._shaderLanguage,
},
engine
- )
+ ),
+ join
);
}