Contents

MTLPixelFormat.bgr10_xr_srgb

A 32-bit extended-range pixel format with sRGB conversion and three fixed-point components of 10-bit blue, 10-bit green, and 10-bit red.

Declaration

case bgr10_xr_srgb

Discussion

Pixel components are stored in blue, green, and red order, from least significant bit to most significant bit. Bits 30 and 31 are padding, and their value is 0.

[Image]

The blue, green, and red components are gamma encoded, and their values range from -0.5271 to 1.66894, before gamma expansion.

In order to determine a component’s value as a shader float:

  • When reading a pixel, first apply the linear encoding (xr10_value - 384) / 510.0f and then the sRGB transform.

  • When writing a pixel, first apply the sRGB transform and then the linear encoding shader_float = (xr10_value - 384) / 510.0f.

To display wide color values on devices with wide color displays, you set this pixel format on the colorPixelFormat property of an MTKView or the pixelFormat property of a CAMetalLayer. Also provide an extended sRGB color space.

See Also

Extended range and wide color pixel formats