detachPostProcess method from the
Camera class sets detached post-processes to
null : Babylon.js/camera.ts at d4ecd48d23c59315feca12f8d6bcdceb50f6b394 · BabylonJS/Babylon.js · GitHub
Wouldn’t it make more sense to splice the array instead, replacing
this._postProcesses[idx] = null;
This issue was already mentionned in this post Disabling SSAO2 breaks FXAA - #12 by CraigFeldspar but it was not solved in the PR.
Is there a good reason behind this ? To avoid garbage collection for example ? (maybe in the same spirit as this [GC] Switch `= ` to `.length = 0` where possible by RaananW · Pull Request #12802 · BabylonJS/Babylon.js · GitHub ?)
Or maybe some code relies on the index of the post-process in this list ?
If that is not the case, I think
splice would be better, it would avoid
null elements from accumulating, for example if a post-process is attached/detached on every frame: Babylon.js Playground
What do you think?