Closed gkjohnson closed 2 months ago
Relevant extensions are:
OES_texture_float_linear
Allows for linear interpolation of all available float32 targets.
~OES_texture_float~
Unneeded for WebGL2.
~OES_texture_half_float~
Unneeded for WebGL2.
EXT_color_buffer_half_float
Allows for linear interpolation of all available float16 targets.
EXT_color_buffer_float
Whether float / 16+ bit attachments are present and available to render to.
EXT_float_blend
Allows for blending the float buffers.
Path
If EXT_color_buffer_float
is not available then we cannot render to float buffers - ie the pathtracer will not work.
It's possible we could make our selves independent of OES_texture_float_linear
since we no longer need to linearly interpolate the floating point buffers. The env map will need floats but we can pick the one that's available to interpolate or fail.
If EXT_float_blend
is not available we need to force alpha such that we use the weighted alpha blend texture even when alpha is not required.
We should allow a function for validating functionality.
466 removed tiled blending due to seeming lack of support on ios. Though the float blend extension only seems to indicate that it's only for float32 targets.