-
-
Notifications
You must be signed in to change notification settings - Fork 35.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GL_INVALID_OPERATION: Feedback loop formed between Framebuffer and active Texture. #25990
Comments
I don't know why but enabling anti-aliasing fixes the issue: https://jsfiddle.net/kd0jf95y/ Can you please confirm this on your side? |
Yes, this stops the errors on my side too. How strange. |
I guess we should report this to the Chromium bug tracker. It's strange that the anti-aliasing setting makes a difference. BTW: Safari 16.4 on macOS does not show a warning. |
Is aa handled by chrome? What should the ticket look like ?
…On Fri, 5 May 2023 at 11:24, Michael Herzog ***@***.***> wrote:
I guess we should report this to the Chromium bug tracker
<https://bugs.chromium.org/p/chromium/issues/list>. It's strange that the
anti-aliasing setting makes a difference.
BTW: Safari 16.4 on macOS does not show a warning.
—
Reply to this email directly, view it on GitHub
<#25990 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABSNQQDIU6FAGPFDJIVJLWDXETBMHANCNFSM6AAAAAAXWXRBPA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Passing
If possible, it would be good to track the issue further down so we can provide a more simple example to the Chromium bug tracker. Otherwise we can use your fiddle and see what they say about the difference between the anti-aliasing and no anti-aliasing case. |
Investigated the issue a bit more and the the warning pops up with When reverting #25502, the warning goes away. So it seems the two pass rendering of transmissive objects introduces the issue. |
I have filed a bug at the Chromium bug tracker: https://bugs.chromium.org/p/chromium/issues/detail?id=1445458 Disabling anti-aliasing not only produces the WebGL warning in the browser console, the transmissive effect actually breaks since the inner reflections are missing. You can easily see this when open the test case twice and enabling anti-aliasing in one of them. This happens in all browsers I have tested with (Chrome, Firefox and Safari) although only Chrome and Firefox log a WebGL warning. |
The problem is indeed this part: three.js/src/renderers/WebGLRenderer.js Lines 1392 to 1406 in 90858b2
Meaning when the transmissive objects are rendered with their back sides (which is done to achieve proper inner reflections). The objects are using a transmissive texture ( It would be still interesting to know why enabling anti-aliasing masks the issue. |
@Mugen87 FWIW Looking at the FF source, the antialias path allocates a RenderBuffer object as a target while the non-AA path allocates a texture directly, presumably the same texture that is already in use. I presume the other browsers follow a similar pattern. |
Good point! I think we have to re-evaluate the issue: We have to fix the feedback loop on our side. The fact that the implementation works with enabled anti-aliasing is a side effect of how browser do MSAA. Um, I guess the issue can only be fixed by using an additional transmission render target? |
I've tried to fix the issue by copying the transmission render target into a texture (via |
Clarification: The problem is not the anti-aliasing of the default framebuffer. It's the usage of a multisampled transmissive render target. If you use three.js/src/renderers/WebGLRenderer.js Line 1349 in 7cba91c
|
I'm getting the same warning when calling
Enabling AA didn't fix it for me. I'm using three.js 0.160.0 and Chrome 120.0.6099.129 |
I have the same problem. Did you find any solution? @AlexanderProd |
Description
I notice this error message was mentioned in a closed ticket, under a different scenario. It looks like the transmission shader is causing issues. Is it safe to ignore or is it preventing proper functionality?
As an aside, is this shader the same as in the GLTF example?
Reproduction steps
See the fiddle. Turning off transparency on the material will prevent the error.
Code
I have a HDRI loaded (inside my init function):
Adding this to my scene causes the title error:
I assume it's related to the refraction code?
Live example
Screenshots
Version
0.15.2 (latest)
Device
Desktop
Browser
Chrome
OS
Windows
The text was updated successfully, but these errors were encountered: