Luna::RHI::Format

enum Format : u16
{
    r8_unorm
    r8_snorm
    r8_uint
    r8_sint
    r16_unorm
    r16_snorm
    r16_uint
    r16_sint
    r16_float
    rg8_unorm
    rg8_snorm
    rg8_uint
    rg8_sint
    r32_uint
    r32_sint
    r32_float
    rg16_unorm
    rg16_snorm
    rg16_uint
    rg16_sint
    rg16_float
    rgba8_unorm
    rgba8_unorm_srgb
    rgba8_snorm
    rgba8_uint
    rgba8_sint
    bgra8_unorm
    bgra8_unorm_srgb
    rg32_uint
    rg32_sint
    rg32_float
    rgba16_unorm
    rgba16_snorm
    rgba16_uint
    rgba16_sint
    rgba16_float
    rgb32_uint
    rgb32_sint
    rgb32_float
    rgba32_uint
    rgba32_sint
    rgba32_float
    b5g6r5_unorm
    bgr5a1_unorm
    rgb10a2_unorm
    rgb10a2_uint
    rg11b10_float
    rgb9e5_float
    d16_unorm
    d32_float
    d24_unorm_s8_uint
    d32_float_s8_uint_x24
    bc1_rgba_unorm
    bc1_rgba_unorm_srgb
    bc2_rgba_unorm
    bc2_rgba_unorm_srgb
    bc3_rgba_unorm
    bc3_rgba_unorm_srgb
    bc4_r_unorm
    bc4_r_snorm
    bc5_rg_unorm
    bc5_rg_snorm
    bc6h_rgb_sfloat
    bc6h_rgb_ufloat
    bc7_rgba_unorm
    bc7_rgba_unorm_srgb
}

Describes data formats for vertices and pixels in RHI.

Options

  • r8_unorm

    Ordinary format with one component stored as 8-bit normalized unsigned integer.

  • r8_snorm

    Ordinary format with one component stored as 8-bit normalized signed integer.

  • r8_uint

    Ordinary format with one component stored as 8-bit unsigned integer.

  • r8_sint

    Ordinary format with one component stored as 8-bit signed integer.

  • r16_unorm

    Ordinary format with one component stored as 16-bit normalized unsigned integer.

  • r16_snorm

    Ordinary format with one component stored as 16-bit normalized signed integer.

  • r16_uint

    Ordinary format with one component stored as 16-bit unsigned integer.

  • r16_sint

    Ordinary format with one component stored as 16-bit signed integer.

  • r16_float

    Ordinary format with one component stored as 16-bit (half-precision) floating-point number.

  • rg8_unorm

    Ordinary format with two components stored as 8-bit normalized unsigned integers.

  • rg8_snorm

    Ordinary format with two components stored as 8-bit normalized signed integers.

  • rg8_uint

    Ordinary format with two components stored as 8-bit unsigned integers.

  • rg8_sint

    Ordinary format with two components stored as 8-bit signed integers.

  • r32_uint

    Ordinary format with one component stored as 32-bit unsigned integer.

  • r32_sint

    Ordinary format with one component stored as 32-bit signed integer.

  • r32_float

    Ordinary format with one component stored as 32-bit (single-precision) floating-point number.

  • rg16_unorm

    Ordinary format with two components stored as 16-bit normalized unsigned integers.

  • rg16_snorm

    Ordinary format with two components stored as 16-bit normalized signed integers.

  • rg16_uint

    Ordinary format with two components stored as 16-bit unsigned integers.

  • rg16_sint

    Ordinary format with two components stored as 16-bit signed integers.

  • rg16_float

    Ordinary format with two components stored as 16-bit (half-precision) floating-point numbers.

  • rgba8_unorm

    Ordinary format with four components stored as 8-bit normalized unsigned integers in RGBA order.

  • rgba8_unorm_srgb

    Ordinary format with four components stored as 8-bit normalized unsigned integers in RGBA order with conversion between sRGB and linear space.

  • rgba8_snorm

    Ordinary format with four components stored as 8-bit normalized signed integers in RGBA order.

  • rgba8_uint

    Ordinary format with four components stored as 8-bit unsigned integers in RGBA order.

  • rgba8_sint

    Ordinary format with four components stored as 8-bit signed integers in RGBA order.

  • bgra8_unorm

    Ordinary format with four components stored as 8-bit normalized unsigned integers in BGRA order.

  • bgra8_unorm_srgb

    Ordinary format with four components stored as 8-bit normalized unsigned integers in BGRA order with conversion between sRGB and linear space.

  • rg32_uint

    Ordinary format with two components stored as 32-bit unsigned integers.

  • rg32_sint

    Ordinary format with two components stored as 32-bit signed integers.

  • rg32_float

    Ordinary format with two components stored as 32-bit (single-precision) floating-point numbers.

  • rgba16_unorm

    Ordinary format with four components stored as 16-bit normalized unsigned integers in RGBA order.

  • rgba16_snorm

    Ordinary format with four components stored as 16-bit normalized signed integers in RGBA order.

  • rgba16_uint

    Ordinary format with four components stored as 16-bit unsigned integers in RGBA order.

  • rgba16_sint

    Ordinary format with four components stored as 16-bit signed integers in RGBA order.

  • rgba16_float

    Ordinary format with four components stored as 16-bit (half-precision) floating-point numbers.

  • rgb32_uint

    Ordinary format with three components stored as 32-bit unsigned integers.

  • rgb32_sint

    Ordinary format with three components stored as 32-bit signed integers.

  • rgb32_float

    Ordinary format with three components stored as 32-bit (single-precision) floating-point numbers.

  • rgba32_uint

    Ordinary format with four components stored as 32-bit unsigned integers in RGBA order.

  • rgba32_sint

    Ordinary format with four components stored as 32-bit signed integers in RGBA order.

  • rgba32_float

    Ordinary format with four components stored as 32-bit (single-precision) floating-point numbers in RGBA order.

  • b5g6r5_unorm

    Packed format with three components stored as 5-bit, 6-bit and 5-bit normalized unsigned integers in BGR order.

  • bgr5a1_unorm

    Packed format with four components stored as 5-bit, 5-bit, 5-bit and 1-bit normalized unsigned integers in BGRA order.

  • rgb10a2_unorm

    Packed format with four components stored as 10-bit, 10-bit, 10-bit and 2-bit normalized unsigned integers in RGBA order.

  • rgb10a2_uint

    Packed format with four components stored as 10-bit, 10-bit, 10-bit and 2-bit unsigned integers in RGBA order.

  • rg11b10_float

    Packed format with three components stored as 11-bit, 11-bit and 10-bit floating-point numbers in RGB order. The components have no sign bit. The 10-bit float has 5 bits of mantissa and 5 bits of exponent. The 11-bit floats have 6-bit mantissa and 5-bit exponent.

  • rgb9e5_float

    Packed format with three components stored as floating-point numbers in RGB order. Each component has 9-bit mantissa, and a 5-bit exponent is shared by all three components.

  • d16_unorm

    Depth stencil format with one depth component stored as 16-bit normalized unsigned integer.

  • d32_float

    Depth stencil format with one depth component stored as 32-bit (single-precision) floating-point number.

  • d24_unorm_s8_uint

    Depth stencil format with one depth component stored as 24-bit normalized unsigned integer and one stencil component stored as 8-bit unsigned integer.

  • d32_float_s8_uint_x24

    Depth stencil format with one depth component stored as 32-bit (single-precision) floating-point number and one stencil component stored as 8-bit unsigned integer.

  • bc1_rgba_unorm

    BC1 (DXT1) compressed format.

  • bc1_rgba_unorm_srgb

    BC1 (DXT1) compressed format with conversion between sRGB and linear space.

  • bc2_rgba_unorm

    BC2 (DXT3) compressed format.

  • bc2_rgba_unorm_srgb

    BC2 (DXT3) compressed format with conversion between sRGB and linear space.

  • bc3_rgba_unorm

    BC3 (DXT5) compressed format.

  • bc3_rgba_unorm_srgb

    BC3 (DXT5) compressed format with conversion between sRGB and linear space.

  • bc4_r_unorm

    BC4 compressed format with one component stored as normalized unsigned integer.

  • bc4_r_snorm

    BC4 compressed format with one component stored as normalized signed integer.

  • bc5_rg_unorm

    BC5 compressed format with two components stored as normalized unsigned integer.

  • bc5_rg_snorm

    BC5 compressed format with two components stored as normalized signed integer.

  • bc6h_rgb_sfloat

    BC6H compressed format with four floating-point components.

  • bc6h_rgb_ufloat

    BC6H compressed format with four unsigned floating-point components.

  • bc7_rgba_unorm

    BC7 compressed format.

  • bc7_rgba_unorm_srgb

    BC7 compressed format with conversion between sRGB and linear space.