include/umbra_defs.h file

Common definitions across all Umbra APIs.

Classes

struct UmbraFloat2
Two floats.
struct UmbraFloat3
Three floats.
struct UmbraFloat3_3
A 3x3 matrix of floats.
struct UmbraFloat3MinMax
A single precision, min-max representation of an axis-aligned bounding box.
struct UmbraFloat4
Four floats.
struct UmbraFloat4_4
A 4x4 matrix of floats.
struct UmbraDouble2
Two doubles.
struct UmbraDouble3
Three doubles.
struct UmbraDouble3_3
A 3x3 matrix of doubles.
struct UmbraDouble3MinMax
A double precision, min-max representation of an axis-aligned bounding box.
struct UmbraDouble4
Four doubles.
struct UmbraDouble4_4
A 4x4 matrix of doubles.
struct UmbraInt2
Two 32-bit integers.
struct UmbraInt3
Three 32-bit integers.
struct UmbraRGBA
Four 8-bit unsigned integer color values.
struct UmbraElementBuffer
A structure describing a buffer of elements stored in memory.
struct UmbraByteBuffer
A structure describing a byte buffer in memory.

Enums

enum UmbraMatrixFormat { UmbraMatrixFormat_ColumnMajor = 0, UmbraMatrixFormat_RowMajor = 1 }
Row or column major matrix format enum.
enum UmbraTextureType { UmbraTextureType_Diffuse = 0, UmbraTextureType_Normal, UmbraTextureType_Specular, UmbraTextureType_MetaIndex }
Texture type enum.
enum UmbraTextureFormat { UmbraTextureFormat_RGBA32 = 0, UmbraTextureFormat_RGB24, UmbraTextureFormat_BC1, UmbraTextureFormat_BC3, UmbraTextureFormat_BC4, UmbraTextureFormat_BC5, UmbraTextureFormat_ETC1_RGB, UmbraTextureFormat_RGBA_FLOAT32, UmbraTextureFormat_UNC1 deprecated, UmbraTextureFormat_JPEG, UmbraTextureFormat_PNG, UmbraTextureFormat_BMP, UmbraTextureFormat_PSD, UmbraTextureFormat_TGA, UmbraTextureFormat_GIF, UmbraTextureFormat_HDR, UmbraTextureFormat_PIC, UmbraTextureFormat_PNM, UmbraTextureFormat_ASTC_4X4, UmbraTextureFormat_ASTC_5X4, UmbraTextureFormat_ASTC_5X5, UmbraTextureFormat_ASTC_6X5, UmbraTextureFormat_ASTC_6X6, UmbraTextureFormat_ASTC_8X5, UmbraTextureFormat_ASTC_8X6, UmbraTextureFormat_ASTC_10X5, UmbraTextureFormat_ASTC_10X6, UmbraTextureFormat_ASTC_8X8, UmbraTextureFormat_ASTC_10X8, UmbraTextureFormat_ASTC_10X10, UmbraTextureFormat_ASTC_12X10, UmbraTextureFormat_ASTC_12X12, UmbraTextureFormat_ARGB32, UmbraTextureFormat_R8, UmbraTextureFormat_PVRTC1_RGB4, UmbraTextureFormat_PVRTC1_RGBA4, UmbraTextureFormat_UINT8, UmbraTextureFormat_UINT16, UmbraTextureFormat_UINT32, UmbraTextureFormat_RGB565, UmbraTextureFormat_RG8, UmbraTextureFormat_RG16F, UmbraTextureFormat_OPENEXR, UmbraTextureFormat_RGBA_FLOAT16, UmbraTextureFormat_RGB_FLOAT16, UmbraTextureFormat_RGB_FLOAT32 }
Texture format enum.
enum UmbraColorSpace { UmbraColorSpace_Linear = 0, UmbraColorSpace_SRGB }
Color space enum.
enum UmbraVertexAttribute { UmbraVertexAttribute_Position = 0, UmbraVertexAttribute_TextureCoordinate, UmbraVertexAttribute_Normal, UmbraVertexAttribute_Tangent }
An enumeration of vertex attributes.
enum UmbraBufferFlagBits { UmbraBufferFlags_UncachedMemory = 1 << 0 }
A set of buffer flags for specifying data buffer operations.

Typedefs

typedef struct UmbraClient UmbraClient
Opaque client object.
typedef int32_t UmbraBool
A boolean type.
typedef uint32_t UmbraBufferFlags
A bitmask of UmbraBufferFlagBits.

Enum details

enum UmbraTextureType

Texture type enum.

Enumerators
UmbraTextureType_Diffuse
UmbraTextureType_Normal
UmbraTextureType_Specular
UmbraTextureType_MetaIndex

enum UmbraTextureFormat

Texture format enum.

A list of formats either accepted as input by the Umbra importer, or produced as output for use in the Umbra runtime.

Enumerators
UmbraTextureFormat_RGBA32

Four 8-bit unsigned integers.

Can be used as an input or output.

UmbraTextureFormat_RGB24

Three 8-bit unsigned integers.

Can be used as an input or output.

UmbraTextureFormat_BC1

A compressed RGB (or RGB with 1-bit alpha) format.

Can only be used as an output.

UmbraTextureFormat_BC3

A compressed RGBA format.

Can only be used as an output.

UmbraTextureFormat_BC4

A compressed single channel format.

Can only be used as an output.

UmbraTextureFormat_BC5

A compressed dual channel format.

Can only be used as an output.

UmbraTextureFormat_ETC1_RGB

A compressed RGB format.

Can only be used as an output.

UmbraTextureFormat_RGBA_FLOAT32

Four floats.

Can be used as input or output.

UmbraTextureFormat_UNC1
UmbraTextureFormat_JPEG

Standard image formats.

Can only be used as inputs.

UmbraTextureFormat_PNG
UmbraTextureFormat_BMP
UmbraTextureFormat_PSD
UmbraTextureFormat_TGA
UmbraTextureFormat_GIF
UmbraTextureFormat_HDR
UmbraTextureFormat_PIC
UmbraTextureFormat_PNM
UmbraTextureFormat_ASTC_4X4

A flexible compressed format.

Can only be used as outputs.

UmbraTextureFormat_ASTC_5X4
UmbraTextureFormat_ASTC_5X5
UmbraTextureFormat_ASTC_6X5
UmbraTextureFormat_ASTC_6X6
UmbraTextureFormat_ASTC_8X5
UmbraTextureFormat_ASTC_8X6
UmbraTextureFormat_ASTC_10X5
UmbraTextureFormat_ASTC_10X6
UmbraTextureFormat_ASTC_8X8
UmbraTextureFormat_ASTC_10X8
UmbraTextureFormat_ASTC_10X10
UmbraTextureFormat_ASTC_12X10
UmbraTextureFormat_ASTC_12X12
UmbraTextureFormat_ARGB32

Four 8-bit unsigned integers, with alpha in the first channel.

Can only be used as an input.

UmbraTextureFormat_R8

A single 8-bit unsigned integer greyscale channel.

Can only be used as an input.

UmbraTextureFormat_PVRTC1_RGB4

A compressed RGB format.

Can only be used as an output.

UmbraTextureFormat_PVRTC1_RGBA4

A compressed RGBA format.

Can only be used as an output.

UmbraTextureFormat_UINT8

Umbra internal use only.

UmbraTextureFormat_UINT16

Umbra internal use only.

UmbraTextureFormat_UINT32

Umbra internal use only.

UmbraTextureFormat_RGB565

Low precision RGB format.

Only used by Umbra internally. Cannot be used as an input or output.

UmbraTextureFormat_RG8

Two 8-bit unsigned integers.

Only used by Umbra internally. Cannot be used as an input or output.

UmbraTextureFormat_RG16F

Two halfs.

Only used by Umbra internally. Cannot be used as an input or output.

UmbraTextureFormat_OPENEXR

An HDR format.

Can only be used as an input.

UmbraTextureFormat_RGBA_FLOAT16

Four halfs.

Can only be used as an output.

UmbraTextureFormat_RGB_FLOAT16

Three halfs.

Can only be used as an output.

UmbraTextureFormat_RGB_FLOAT32

Three floats.

Can only be used as an output.

enum UmbraColorSpace

Color space enum.

Enumerators
UmbraColorSpace_Linear

Linear color space.

UmbraColorSpace_SRGB

sRGB color space.

enum UmbraVertexAttribute

An enumeration of vertex attributes.

Enumerators
UmbraVertexAttribute_Position

A geometric position, defined as UmbraFloat3.

UmbraVertexAttribute_TextureCoordinate

A texture coordinate, defined as UmbraFloat2.

UmbraVertexAttribute_Normal

An unit normal vector, defined as UmbraFloat3.

UmbraVertexAttribute_Tangent

An unit tangent vector, defined as UmbraFloat3.

enum UmbraBufferFlagBits

A set of buffer flags for specifying data buffer operations.

Enumerators
UmbraBufferFlags_UncachedMemory

Uncached memory prevents asset decoders from performing random accesses.

This flag may avoid poor performance in scenarios such as decoding an asset directly to the device mapped memory. This flag may cause additional memory allocations in asset decoders.