WebGLBackground: prevent background material recompile in certain cases #18420
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Typically, a single renderer is used to render not only the scene, but for inset viewports, for render-targets, for post-processing, etc. In each case, the rendered scene may or may not have a background. Also, there may be multiple scenes. This can cause the scene background material to be recompiled every frame. (To replicate, add a texture background in
/examples/webgl_shadowmap_viewer.html.)I am thinking
webGLBackgroundmay have to be redesigned, but this change in an improvement -- at least in the cases I have studied.