LDKRHITexture
typedef LDKRHIResource LDKRHITexture;
typedef LDKRHIResource LDKRHITexture;
typedef struct LDKRHITextureDesc{
LDKRHITextureType type;
LDKRHIFormat format;
uint32_t width;
uint32_t height;
uint32_t depth;
uint32_t mip_count;
uint32_t layer_count;
uint32_t usage;
const void *initial_data;
uint32_t initial_data_size;
LDKRHITextureSwizzle swizzle_r;
LDKRHITextureSwizzle swizzle_g;
LDKRHITextureSwizzle swizzle_b;
LDKRHITextureSwizzle swizzle_a;
}LDKRHITextureDesc;
typedef enum LDKRHITextureSwizzle{
LDK_RHI_TEXTURE_SWIZZLE_IDENTITY=0,
LDK_RHI_TEXTURE_SWIZZLE_ZERO,
LDK_RHI_TEXTURE_SWIZZLE_ONE,
LDK_RHI_TEXTURE_SWIZZLE_R,
LDK_RHI_TEXTURE_SWIZZLE_G,
LDK_RHI_TEXTURE_SWIZZLE_B,
LDK_RHI_TEXTURE_SWIZZLE_A
}LDKRHITextureSwizzle;
typedef enum LDKRHITextureType{
LDK_RHI_TEXTURE_TYPE_2D=0,
LDK_RHI_TEXTURE_TYPE_3D,
LDK_RHI_TEXTURE_TYPE_CUBE
}LDKRHITextureType;
typedef enum LDKRHITextureUsage{
LDK_RHI_TEXTURE_USAGE_NONE=0,
LDK_RHI_TEXTURE_USAGE_SAMPLED=1<<0,
LDK_RHI_TEXTURE_USAGE_RENDER_TARGET=1<<1,
LDK_RHI_TEXTURE_USAGE_DEPTH_STENCIL=1<<2,
LDK_RHI_TEXTURE_USAGE_STORAGE=1<<3,
LDK_RHI_TEXTURE_USAGE_TRANSFER_SRC=1<<4,
LDK_RHI_TEXTURE_USAGE_TRANSFER_DST=1<<5
}LDKRHITextureUsage;
Checks if a texture handle is valid.
LDK_API bool ldk_rhi_is_valid_texture(LDKRHITexture texture);
LDKRHITexture texturetrue if valid, false otherwise.
Validates a texture descriptor.
LDK_API bool ldk_rhi_is_valid_texture_desc(const LDKRHITextureDesc *desc);
const LDKRHITextureDesc *desctrue if valid, false otherwise.
Creates a GPU texture.
LDK_API LDKRHITexture ldk_rhi_texture_create(
LDKRHIContext *context,
const LDKRHITextureDesc *desc
);
LDKRHIContext *contextconst LDKRHITextureDesc *descA valid texture handle on success, or an invalid handle on failure.
Initializes a texture descriptor with default values.
LDK_API void ldk_rhi_texture_desc_defaults(LDKRHITextureDesc *desc);
LDKRHITextureDesc *descDestroys a GPU texture.
LDK_API void ldk_rhi_texture_destroy(
LDKRHIContext *context,
LDKRHITexture texture
);
LDKRHIContext *contextLDKRHITexture textureUpdates a texture subresource.
LDK_API bool ldk_rhi_texture_update(
LDKRHIContext *context,
LDKRHITexture texture,
uint32_t mip_level,
uint32_t layer,
const void *data,
uint32_t size
);
LDKRHIContext *contextLDKRHITexture textureuint32_t mip_leveluint32_t layerconst void *datauint32_t sizetrue if the update succeeded, false otherwise.