Save render cache flag from renderer when using RenderTexture #3562
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.
RenderTexture render cmd do not correctly save cache flag of render cmd's of renderer and as result some render command are placed in cache, not in
_renderCmds
array.Test case for reproduce:
Scene has for example a scroll view (it enables cache flag on visit with
cc.renderer_turnToCacheMode
) and sprites on background (zOrder < scroll.zOrder)Render texture is created and placed on ScrollView some time after (e.g. data for is loaded from network or clicking some button) adding scroll view to scene (must be passed one loop of
cc.director
).As a result scene doesn't render background sprites after using render texture (
begin() - end()
pair).Test scene code (for js-test from cocos2d-x)