Runtime object

Classes

struct UmbraEnvironmentInfo
A structure describing environment parameters.
struct UmbraStreamingState
A structure describing runtime streaming statistics.
struct UmbraRuntime
Opaque runtime object.

Enums

enum UmbraTextureSupportFlagBits { UmbraTextureSupportFlags_None = 0, UmbraTextureSupportFlags_BC1 = 1 << 0, UmbraTextureSupportFlags_BC2 = 1 << 1, UmbraTextureSupportFlags_BC3 = 1 << 2, UmbraTextureSupportFlags_BC4 = 1 << 3, UmbraTextureSupportFlags_BC5 = 1 << 4, UmbraTextureSupportFlags_BC6H = 1 << 5, UmbraTextureSupportFlags_BC7 = 1 << 6, UmbraTextureSupportFlags_ASTC = 1 << 7, UmbraTextureSupportFlags_ETC1 = 1 << 8, UmbraTextureSupportFlags_ETC2 = 1 << 9, UmbraTextureSupportFlags_EAC_R = 1 << 10, UmbraTextureSupportFlags_EAC_RG = 1 << 11, UmbraTextureSupportFlags_PVRTC1 = 1 << 12, UmbraTextureSupportFlags_PVRTC2 = 1 << 13, UmbraTextureSupportFlags_ATC = 1 << 14, UmbraTextureSupportFlags_HalfFloat = 1 << 15, UmbraTextureSupportFlags_Float = 1 << 16, UmbraTextureSupportFlags_All = 0x7FFFFFFF }
A set of hardware texture formats which may be supported by the environment.
enum UmbraRuntimeFlagBits { UmbraRuntimeFlags_NeverUnload = 1 << 0, UmbraRuntimeFlags_ExclusiveRendering = 1 << 1, UmbraRuntimeFlags_EnableRayQueries = 1 << 2, UmbraRuntimeFlags_UmbraDebug = 1 << 31 }
A set of runtime flags for specifying runtime behaviour.

Typedefs

typedef uint32_t UmbraTextureSupportFlags
A bitmask of UmbraTextureSupportFlagBits.
typedef uint32_t UmbraRuntimeFlags
A bitmask of UmbraRuntimeFlagBits.

Functions

void UmbraEnvironmentInfoDefaults(UmbraEnvironmentInfo* environment)
Initializes the UmbraEnvironmentInfo structure with the default values.
UmbraRuntime* UmbraRuntimeCreate(UmbraClient* client, const UmbraEnvironmentInfo* environment, UmbraRuntimeFlags flags)
Creates a runtime object.
void UmbraRuntimeUpdate(UmbraRuntime* runtime)
Updates the runtime object.
void UmbraRuntimeGetStreamingState(UmbraRuntime* runtime, UmbraStreamingState* streamingState)
Returns streaming statistics from runtime object.
void UmbraRuntimeDestroy(UmbraRuntime* runtime)
Destroys the runtime object.

Enum details

enum UmbraTextureSupportFlagBits

A set of hardware texture formats which may be supported by the environment.

Enumerators
UmbraTextureSupportFlags_None
UmbraTextureSupportFlags_BC1
UmbraTextureSupportFlags_BC2
UmbraTextureSupportFlags_BC3
UmbraTextureSupportFlags_BC4
UmbraTextureSupportFlags_BC5
UmbraTextureSupportFlags_BC6H
UmbraTextureSupportFlags_BC7
UmbraTextureSupportFlags_ASTC
UmbraTextureSupportFlags_ETC1
UmbraTextureSupportFlags_ETC2
UmbraTextureSupportFlags_EAC_R
UmbraTextureSupportFlags_EAC_RG
UmbraTextureSupportFlags_PVRTC1

The specification.

UmbraTextureSupportFlags_PVRTC2
UmbraTextureSupportFlags_ATC
UmbraTextureSupportFlags_HalfFloat
UmbraTextureSupportFlags_Float
UmbraTextureSupportFlags_All

A flag used to declare that every format is supported.

May be useful for applications which do not render using graphics hardware.

enum UmbraRuntimeFlagBits

A set of runtime flags for specifying runtime behaviour.

Enumerators
UmbraRuntimeFlags_NeverUnload

Assets are never unloaded once they are loaded in memory.

UmbraRuntimeFlags_ExclusiveRendering

Used for optimizing shadow receiver volumes.

UmbraRuntimeFlags_EnableRayQueries

Enables ray queries.

UmbraRuntimeFlags_UmbraDebug

Used for internal debugging purposes.

Function details

void UmbraEnvironmentInfoDefaults(UmbraEnvironmentInfo* environment)

Initializes the UmbraEnvironmentInfo structure with the default values.

Parameters
environment The pointer to the UmbraEnvironmentInfo structure to be initialized.

UmbraRuntime* UmbraRuntimeCreate(UmbraClient* client, const UmbraEnvironmentInfo* environment, UmbraRuntimeFlags flags)

Creates a runtime object.

Parameters
client in The client whose platform services will be used by the runtime object.
environment in The pointer to the UmbraEnvironmentInfo structure describing environment parameters.
flags in The bitmask of UmbraRuntimeFlagBits specifying runtime behaviour. Can be 0.
Returns The pointer to the opaque runtime object.

void UmbraRuntimeUpdate(UmbraRuntime* runtime)

Updates the runtime object.

Parameters
runtime in The runtime object to update.

void UmbraRuntimeGetStreamingState(UmbraRuntime* runtime, UmbraStreamingState* streamingState)

Returns streaming statistics from runtime object.

Parameters
runtime in The runtime object to get statistics from.
streamingState out Where to store UmbraStreamingState.

void UmbraRuntimeDestroy(UmbraRuntime* runtime)

Destroys the runtime object.

Parameters
runtime in The runtime object to destroy.