-
-
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
Option to disable two-pass rendering of transparent objects #24711
Comments
Related #21967. |
Since this feature request came up multiple times in the past, I'm inclined to support this request. Finding a nice and compact property name might be difficult though since only double-sided, transparent materials are affected. |
|
|
Will do. |
Adding this feature is up to @mrdoob. But if it is added, I think it should be a property of the object, as is Double-sided, transparent, planar objects are a use case. |
@WestLangley TBH I don't have any preference in the matter, I just want the option to exist and ready to submit a patch with any agreed upon solution (well, assuming, it won't take me a week to implement it :) ). |
I'd like to vote for this too. We are using the threejs runtime for the spine animation library, which exposes this problem. Spine uses 2-sided, transparent triangle batches, and it relies on those triangle batches being rendered in exactly the order they are submitted. But the winding-order of triangles in the list is heterogeneous (because it's driven by animations which can do funny things like scaling by -1). This creates artifacts where some parts of a character sort out of order. |
@mrdoob Given that the two-pass rendering introduces performance issues for certain users and an issue in context of |
How about adding a new |
Sounds good to me, too! I'll give it a try. |
Is your feature request related to a problem? Please describe.
There's a hardcoded path for rendering transparent objects with doublesided materials. However it's not particularly suitable for our use-case since our models are optimized for a single blended pass with backface fulling disabled. That leads to artifacts.
Describe the solution you'd like
An option for materials to override this behaviour.
Describe alternatives you've considered
Right now we're forced to patch by hand and commit into our repo a copy of threejs build.
The text was updated successfully, but these errors were encountered: