-
-
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
WebGLRenderer: Check for EXT_color_buffer_float
for transmission.
#27761
Conversation
📦 Bundle sizeFull ESM build, minified and gzipped.
🌳 Bundle size after tree-shakingMinimal build including a renderer, camera, empty scene, and dependencies.
|
Would you be okay with stalling the PR for a couple of weeks? We will remove WebGL 1 from the renderer soon so the change set of this PR will look much smaller which will make it easier to review. |
@Mugen87 Sure not a problem.
|
That's correct. WebGL 1 support will be removed in r163 |
@Mugen87 I have removed code for |
@@ -1416,7 +1416,7 @@ class WebGLRenderer { | |||
|
|||
_transmissionRenderTarget = new WebGLRenderTarget( 1, 1, { | |||
generateMipmaps: true, | |||
type: extensions.has( 'EXT_color_buffer_half_float' ) ? HalfFloatType : UnsignedByteType, | |||
type: ( extensions.has( 'EXT_color_buffer_half_float' ) || extensions.has( 'EXT_color_buffer_float' ) ) ? HalfFloatType : UnsignedByteType, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIK, there is no system that supports EXT_color_buffer_float
but not EXT_color_buffer_half_float
. Since the transmission render target only uses HalfFloatType
and not FloatType
, I'm afraid this addition does not make sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confusingly the EXT_color_buffer_float
extension may imply that half float types are supported. From the spec:
The following floating-point internal formats become color-renderable: R16F, RG16F, RGBA16F, R32F, RG32F, RGBA32F and R11F_G11F_B10F. A renderbuffer or a texture with a color-renderable internal format can be used as a rendering target by attaching it to a framebuffer object as a color attachment.
If a device reports that EXT_color_buffer_float
but for some reason doesn't report EXT_color_buffer_half_float
we should still support rendering to half float buffers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then let's merge for the case a device only reports EXT_color_buffer_float
support.
EXT_color_buffer_float
for transmission.
Description
EXT_color_buffer_float