hdrColorFormat property

  1. @override
TextureFormat get hdrColorFormat
override

The format to render high dynamic range colour into.

The engine renders in linear HDR and tone maps at the end, so it needs a colour target with range above one. Which format that is belongs to the backend: RGBA16F is the obvious answer and is not free everywhere — WebGL2 accepts it as a texture format and refuses to render to it until EXT_color_buffer_float is asked for, which is a thing only a backend can know to do.

Asked rather than assumed, because the failure when it is wrong is an incomplete framebuffer: every draw silently discarded, no error raised, and a frame of transparent black with every counter reporting success.

Implementation

@override
TextureFormat get hdrColorFormat => TextureFormat.r16g16b16a16Float;