cocos-engine icon indicating copy to clipboard operation
cocos-engine copied to clipboard

Transparent renderers stop rendering when resolution changes

Open hulcypdiscord opened this issue 2 years ago • 11 comments

Cocos Creator version

3.8

System information

WebGL 2.0

Issue description

When Post Processing is enabled for the Main Camera, if the Canvas size changes transparent renderers stop rendering.

Relevant error log output

No response

Steps to reproduce

  1. Create New Project
  2. Add default particle system in view of the camera
  3. Enable the Custom Render Pipeline
  4. Set the CUSTOM_PIPELINE_NAME to Custom
  5. Attach FXAA to the Main Camera and enable Post Processing on the Main Camera
  6. Play in browser
  7. Switch between different resolutions using the picker in the top left
  8. Notice after swapping between a couple resolutions the particles stop rendering

Minimal reproduction project

transparency-broken-repro.zip

hulcypdiscord avatar Sep 15 '23 16:09 hulcypdiscord

Should be fixed in https://github.com/cocos/cocos-engine/pull/16157

pandamicro avatar Sep 22 '23 10:09 pandamicro

Should be fixed in #16157

@GengineJS is backporting it to 3.8.1

star-e avatar Sep 22 '23 10:09 star-e

https://github.com/cocos/cocos-engine/pull/16321

GengineJS avatar Sep 22 '23 10:09 GengineJS

@pandamicro Transparency no longer breaks using the repro steps I outlined but now the Frame Buffer is just stuck with the contents of the last frame before the window is resized sometimes. So end user experience is the game looks "frozen" until you resize the window again.

hulcypdiscord avatar Nov 02 '23 16:11 hulcypdiscord

Bump. My project cannot upgrade to 3.8.1 because the new issue is worse than the previous one.

hulcypdiscord avatar Nov 14 '23 11:11 hulcypdiscord

@hulcypdiscord What does the new question refer to? Is it still a problem that transparent objects need to be restored by resizing the window?

GengineJS avatar Nov 15 '23 01:11 GengineJS

Is it convenient to post a recorded video or a simple demo for troubleshooting?

GengineJS avatar Nov 15 '23 01:11 GengineJS

https://github.com/cocos/cocos-engine/assets/75751645/1dfbe74d-df85-4cf3-8811-a21881d89dfa

Here is an attached video using the same sample project provided in this issue reproducing the new issue.

hulcypdiscord avatar Nov 15 '23 14:11 hulcypdiscord

OK, received, we will provide a solution as soon as possible

GengineJS avatar Nov 15 '23 14:11 GengineJS

Related questions in the video have been merged into PR https://github.com/cocos/cocos-engine/pull/16524

GengineJS avatar Nov 21 '23 12:11 GengineJS

@GengineJS As of 3.8.2 the render-frame-broken issue no longer occurs but the originally reported issue of transparent rendering is still broken. If you follow the same repro steps in the video above instead of the render frame freezing it just stops rendering all transparent objects.

hulcypdiscord avatar Jan 30 '24 14:01 hulcypdiscord

https://github.com/cocos/cocos-engine/pull/17279/files This pr has fixed this issue

GengineJS avatar Jul 09 '24 03:07 GengineJS