Render on floating point RGB texture on firefox

This might not be a question strictly regarding Three.js, but I seem to be unable to render on a floating point RGB texture when running the code on Firefox. Chrome works just fine. Firefox gives me this:

Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0 has an effective format of RGB32F, which is not renderable

I have tried to enable extensions

console.log(this.renderer.context.getExtension(‘WEBGL_color_buffer_float’));
console.log(this.renderer.context.getExtension(‘OES_texture_float’));

and both return non-null values, but the rendering still fails.

https://jsfiddle.net/ywptg6uj/6/ a quick fiddle.js that shows nothing but renders on an offscreen flaoting point texture. On firefox the errors will show up on the console.

EDIT: turns out WEBGL_color_buffer_float only guarantees support for RGBA32F textures and I was using RGB32F. This has nothing to do with three.js.

Just for the sake of completeness:

There is a good example that illustrates how to render data to a float texture and also perform read operations from the corresponding render target.

https://threejs.org/examples/#webgl_read_float_buffer

1 Like