-
-
Notifications
You must be signed in to change notification settings - Fork 36.2k
Proof-of-Concept: Improved Transmission #25881
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
Conversation
📦 Bundle sizeFull ESM build, minified and gzipped.
🌳 Bundle size after tree-shakingMinimal build including a renderer, camera, empty scene, and dependencies.
|
|
/ping @elalish |
|
@WestLangley Yes, I'd love to see how you achieved the transparent object transmitting the background. Can you update the PR here so we can see that version and test it? The current one does not seem to transmit the background through at all. |
|
Thanks, this is great. What I notice as the primary differences between this and #25819 is that this PR properly reduces to the thin transmission model when |
3088693 to
783185a
Compare
|
Closed, and replaced by a mergeable PR. |

Related issue: #25819
Transmission, as implemented in three.js, requires either opaque scene objects, a skybox, or an opaque scene background to serve as a source of light.
Light is transmitted and attenuated from behind the model towards the camera. If there is no light, there is no color.
Consequently, the rendering will be incorrect if the background is transparent. It will also be incorrect even if there is a CSS background, since the CSS background is not accessible to the renderer.
One workaround is to enure an opaque background is present during the transmission calculation.
There are trade-offs involved. This PR is a proof of concept for discussion.
Before:

After:
