Skip to content

LiteFX::Rendering::IGraphicsFactory::createTexture

Creates a texture.

Synopsis

Declared in <litefx/rendering_api.hpp>

[[dllimport, dllexport]] SharedPtr<IImage> createTexture(
    String const& name,
    Format format,
    Size3d const& size,
    ImageDimensions dimension = ImageDimensions::DIM_2,
    UInt32 levels = 1,
    UInt32 layers = 1,
    MultiSamplingLevel samples = MultiSamplingLevel::x1,
    ResourceUsage usage = ResourceUsage::Default,
    AllocationBehavior allocationBehavior = AllocationBehavior::Default) const;

Description

A texture in LiteFX is always backed by GPU-only visible memory and thus can only be transferred to/from. Thus you typically have to create a buffer using createBuffer first that holds the actual image bytes. You than can transfer/copy the contents into the texture.

Return Value

The instance of the texture.

Parameters

NameDescription
nameThe name of the texture image.
formatThe format of the texture image.
sizeThe dimensions of the texture.
dimensionThe dimensionality of the texture.
layersThe number of layers (slices) in this texture.
levelsThe number of mip map levels of the texture.
samplesThe number of samples, the texture should be sampled with.
usageThe intended usage for the buffer.
allocationBehaviorThe behavior controlling what happens if currently there is not enough memory available for the resource.

See Also

createTextures