Home -> ITextureBuffer3D

Declaration

class ITextureBuffer3D :public ITextureBuffer;

Description

The ITextureBuffer3D interface represents a three dimensional texture, suitable for binding as an input resource to shader. Typically used for volumetric data, eg, dense block models, ambient occlusion maps, particle density maps, wind direction maps in physics engines, and other similar things.

Enumerations (Inherited from ITextureBuffer)

Name Description
Public Enum ImageFormat
The image format of the texture on hardware, which represents the number of channels and use of those channels in the image.
Public Enum DataFormat
The data format of the texture on hardware, which represents the physical data encoding used for the channel data.
Public Enum SourceImageFormat
The image format of texture data in CPU memory, which represents the number of channels and use of those channels in the image.
Public Enum SourceDataFormat
The data format of texture data in CPU memory, which represents the physical data encoding used for the channel data.
Public Enum UsageFlags
Flags to inform the renderer on how this texture buffer will be used
Public Enum PerformanceHint
Flags to provide hints to the graphics system about how the application will use this texture. Correct use of performance hints allows the renderer to optimize the way the data is stored and modified to give the best performance.
Public Enum DataPersistenceFlags
Flags to provide hints to the graphics system about the required lifetime of data stored in this texture. These flags can be used to reduce memory requirements or increase performance in some circumstances.

Members

Initialization methods

Name Description
Public member Delete
Schedules the object for deletion. After calling this method, the object will be destroyed after the current frame completes drawing.
Public member AllocateMemory
Attempts to allocate memory for the texture

Usage methods (Inherited from ITextureBuffer)

Name Description
Public member SetUsageFlags
Informs the renderer on how this buffer will be used. Certain operations are disallowed unless usage flags have been set to inform the renderer in advance that those operations may be requested.
Public member SetPerformanceHints
Provides hints to the renderer about how this object will be used. Correct use of hints is important to optimize performance.
Public member SetDataPersistenceFlags
Provides hints to the graphics system about the required lifetime of data stored in this texture. This can be used to reduce memory requirements or increase performance in some circumstances.

Format methods

Name Description
Public member SetTextureFormat
Specifies the format of the texture. This must be defined prior to calling the AllocateMemory method.
Public member SetTextureDimensions
Specifies the dimensions and mipmap level count of the texture. This must be defined prior to calling the AllocateMemory method.
Public member AllocatedImageFormat
Returns the ImageFormat of the buffer that was actually created after calling the AllocateMemory method.
Public member AllocatedDataFormat
Returns the DataFormat of the buffer that was actually created after calling the AllocateMemory method.
Public member MipmapLevelCount
Returns the number of texture mipmap levels that were created after calling the AllocateMemory method.
Public member MipmapLevelDimensions
Returns the dimensions of the specified texture mipmap level that was created after calling the AllocateMemory method.

Data methods

Name Description
Public member SetInitialData
Supplies initial data to use when allocating the texture. Note that the supplied memory must remain valid and accessible until the AllocateMemory method is called.
Public member QueueDataUpdate
Updates data in the associated buffer. Unlike the SetInitialData method, the provided memory can be modified or deallocated immediately after this method returns.

See also