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 | |
|---|---|---|
| ImageFormat |
The image format of the texture on hardware, which represents the number of channels and use of those channels in the image.
|
|
| DataFormat |
The data format of the texture on hardware, which represents the physical data encoding used for the channel data.
|
|
| SourceImageFormat |
The image format of texture data in CPU memory, which represents the number of channels and use of those channels in the image.
|
|
| SourceDataFormat |
The data format of texture data in CPU memory, which represents the physical data encoding used for the channel data.
|
|
| UsageFlags |
Flags to inform the renderer on how this texture buffer will be used
|
|
| 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.
|
|
| 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 | |
|---|---|---|
| Delete |
Schedules the object for deletion. After calling this method, the object will be destroyed after the current
frame completes drawing.
|
|
| AllocateMemory |
Attempts to allocate memory for the texture
|
Usage methods (Inherited from ITextureBuffer)
| Name | Description | |
|---|---|---|
| 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.
|
|
| SetPerformanceHints |
Provides hints to the renderer about how this object will be used. Correct use of hints is important to optimize performance.
|
|
| 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 | |
|---|---|---|
| SetTextureFormat |
Specifies the format of the texture. This must be defined prior to calling the AllocateMemory method.
|
|
| SetTextureDimensions |
Specifies the dimensions and mipmap level count of the texture. This must be defined prior to calling the AllocateMemory method.
|
|
| AllocatedImageFormat |
Returns the ImageFormat of the buffer that was actually created after calling the AllocateMemory method.
|
|
| AllocatedDataFormat |
Returns the DataFormat of the buffer that was actually created after calling the AllocateMemory method.
|
|
| MipmapLevelCount |
Returns the number of texture mipmap levels that were created after calling the AllocateMemory method.
|
|
| MipmapLevelDimensions |
Returns the dimensions of the specified texture mipmap level that was created after calling the AllocateMemory method.
|
Data methods
| Name | Description | |
|---|---|---|
| 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.
|
|
| QueueDataUpdate |
Updates data in the associated buffer. Unlike the SetInitialData method, the provided
memory can be modified or deallocated immediately after this method returns.
|