Go to the documentation of this file.
44 {0xa64b0e60, 0x1b5e, 0x4cfd,{0xb8, 0x80, 0x66, 0x3a, 0x1a, 0xdc, 0xbe, 0x98}};
102 #if DILIGENT_CPP_INTERFACE
121 ArraySize {_ArraySizeOrDepth},
123 MipLevels {_MipLevels },
124 SampleCount {_SampleCount },
126 BindFlags {_BindFlags },
127 CPUAccessFlags {_CPUAccessFlags },
128 MiscFlags {_MiscFlags },
129 ClearValue {_ClearValue },
130 CommandQueueMask {_CommandQueueMask}
147 Width == RHS.
Width &&
153 Usage == RHS.
Usage &&
187 #if DILIGENT_CPP_INTERFACE
202 pSrcBuffer (
nullptr),
205 DepthStride (_DepthStride)
211 pSrcBuffer {_pBuffer },
212 SrcOffset {_SrcOffset },
214 DepthStride {_DepthStride}
233 #if DILIGENT_CPP_INTERFACE
237 Uint32 _NumSubresources) noexcept :
238 pSubResources {_pSubResources },
239 NumSubresources {_NumSubresources}
251 #if DILIGENT_CPP_INTERFACE
256 Uint32 _DepthStride = 0) noexcept :
259 DepthStride {_DepthStride}
265 #define DILIGENT_INTERFACE_NAME ITexture
266 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
268 #define ITextureInclusiveMethods \
269 IDeviceObjectInclusiveMethods; \
270 ITextureMethods Texture
275 #if DILIGENT_CPP_INTERFACE
336 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
338 #if DILIGENT_C_INTERFACE
342 # define ITexture_GetDesc(This) (const struct TextureDesc*)IDeviceObject_GetDesc(This)
344 # define ITexture_CreateView(This, ...) CALL_IFACE_METHOD(Texture, CreateView, This, __VA_ARGS__)
345 # define ITexture_GetDefaultView(This, ...) CALL_IFACE_METHOD(Texture, GetDefaultView, This, __VA_ARGS__)
346 # define ITexture_GetNativeHandle(This) CALL_IFACE_METHOD(Texture, GetNativeHandle, This)
347 # define ITexture_SetState(This, ...) CALL_IFACE_METHOD(Texture, SetState, This, __VA_ARGS__)
348 # define ITexture_GetState(This) CALL_IFACE_METHOD(Texture, GetState, This)
#define DILIGENT_END_INTERFACE
Definition: DefineInterfaceHelperMacros.h:88
@ MISC_TEXTURE_FLAG_NONE
Definition: GraphicsTypes.h:977
struct INTERFACE_ID INTERFACE_ID
Definition: InterfaceID.h:54
Uint32 ArraySize
For a 1D array or 2D array, number of array slices.
Definition: Texture.h:61
CPU_ACCESS_FLAGS
Allowed CPU access mode flags when mapping a resource.
Definition: GraphicsTypes.h:191
#define VIRTUAL
Definition: DefineInterfaceHelperMacros.h:83
Uint32 Depth
For a 3D texture, number of depth slices.
Definition: Texture.h:64
void * PVoid
Definition: BasicTypes.h:56
TextureData(TextureSubResData *_pSubResources, Uint32 _NumSubresources) noexcept
Definition: Texture.h:236
struct TextureDesc TextureDesc
Definition: Texture.h:162
TextureDesc() noexcept
Definition: Texture.h:103
TextureData() noexcept
Definition: Texture.h:234
TEXTURE_FORMAT Format
Texture format, see Diligent::TEXTURE_FORMAT.
Definition: Texture.h:68
struct OptimizedClearValue OptimizedClearValue
Definition: GraphicsTypes.h:1192
TextureSubResData(const void *_pData, Uint32 _Stride, Uint32 _DepthStride=0) noexcept
Initializes the structure members to perform copy from the CPU memory.
Definition: Texture.h:200
USAGE
Resource usage.
Definition: GraphicsTypes.h:143
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
MISC_TEXTURE_FLAGS MiscFlags
Miscellaneous flags, see Diligent::MISC_TEXTURE_FLAGS for details.
Definition: Texture.h:93
bool operator==(const Plane3D &p1, const Plane3D &p2)
Definition: AdvancedMath.hpp:442
Texture view interface.
Definition: TextureView.h:202
Definition: Texture.h:245
TEXTURE_VIEW_TYPE
Texture view type.
Definition: GraphicsTypes.h:274
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
#define THIS
Definition: DefineInterfaceHelperMacros.h:81
Buffer interface.
Definition: Buffer.h:187
@ TEX_FORMAT_UNKNOWN
Unknown format.
Definition: GraphicsTypes.h:331
MappedTextureSubresource() noexcept
Definition: Texture.h:252
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
Describes common device object attributes.
Definition: GraphicsTypes.h:1196
BIND_FLAGS
Resource binding flags.
Definition: GraphicsTypes.h:115
Texture description.
Definition: Texture.h:47
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
Uint32 Width
Texture width, in pixels.
Definition: Texture.h:53
#define CONST
Definition: DefineInterfaceHelperMacros.h:84
#define DILIGENT_DERIVE(TypeName)
Definition: CommonDefinitions.h:90
Describes the initial data to store in the texture.
Definition: Texture.h:221
const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE Type
Definition: PipelineStateD3D12Impl.cpp:69
@ RESOURCE_DIM_UNDEFINED
Texture type undefined.
Definition: GraphicsTypes.h:258
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
#define DEFAULT_INITIALIZER(x)
Definition: CommonDefinitions.h:93
Uint32 MipLevels
Number of Mip levels in the texture. Multisampled textures can only have 1 Mip level....
Definition: Texture.h:72
TextureDesc(RESOURCE_DIMENSION _Type, Uint32 _Width, Uint32 _Height, Uint32 _ArraySizeOrDepth, TEXTURE_FORMAT _Format, Uint32 _MipLevels=TextureDesc{}.MipLevels, Uint32 _SampleCount=TextureDesc{}.SampleCount, USAGE _Usage=TextureDesc{}.Usage, BIND_FLAGS _BindFlags=TextureDesc{}.BindFlags, CPU_ACCESS_FLAGS _CPUAccessFlags=TextureDesc{}.CPUAccessFlags, MISC_TEXTURE_FLAGS _MiscFlags=TextureDesc{}.MiscFlags, OptimizedClearValue _ClearValue=TextureDesc{}.ClearValue, Uint64 _CommandQueueMask=TextureDesc{}.CommandQueueMask)
Definition: Texture.h:105
MappedTextureSubresource(PVoid _pData, Uint32 _Stride, Uint32 _DepthStride=0) noexcept
Definition: Texture.h:254
TextureSubResData(IBuffer *_pBuffer, Uint32 _SrcOffset, Uint32 _Stride, Uint32 _DepthStride=0) noexcept
Initializes the structure members to perform copy from the GPU buffer.
Definition: Texture.h:209
TEXTURE_FORMAT
Texture formats.
Definition: GraphicsTypes.h:328
BIND_FLAGS BindFlags
Bind flags, see Diligent::BIND_FLAGS for details. The following bind flags are allowed: Diligent::BI...
Definition: Texture.h:86
#define REF
Definition: DefineGlobalFuncHelperMacros.h:39
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
TextureSubResData() noexcept
Initializes the structure members with default values.
Definition: Texture.h:197
Defines optimized clear value.
Definition: GraphicsTypes.h:1168
@ BIND_NONE
Undefined binding.
Definition: GraphicsTypes.h:117
USAGE Usage
Texture usage. See Diligent::USAGE for details.
Definition: Texture.h:79
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
Uint64 CommandQueueMask
Defines which command queues this texture can be used with.
Definition: Texture.h:99
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
RESOURCE_DIMENSION
Describes resource dimension.
Definition: GraphicsTypes.h:256
RESOURCE_DIMENSION Type
Texture type. See Diligent::RESOURCE_DIMENSION for details.
Definition: Texture.h:50
Texture view description.
Definition: TextureView.h:80
CPU_ACCESS_FLAGS CPUAccessFlags
CPU access flags or 0 if no CPU access is allowed, see Diligent::CPU_ACCESS_FLAGS for details.
Definition: Texture.h:90
MISC_TEXTURE_FLAGS
Miscellaneous texture flags.
Definition: GraphicsTypes.h:975
@ CPU_ACCESS_NONE
No CPU access.
Definition: GraphicsTypes.h:193
Texture inteface.
Definition: Texture.h:273
Uint32 Height
Texture height, in pixels.
Definition: Texture.h:56
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
Uint32 SampleCount
Number of samples. Only 2D textures or 2D texture arrays can be multisampled.
Definition: Texture.h:76
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82
Describes data for one subresource.
Definition: Texture.h:165
OptimizedClearValue ClearValue
Optimized clear value.
Definition: Texture.h:96
@ USAGE_DEFAULT
A resource that requires read and write access by the GPU and can also be occasionally written by the...
Definition: GraphicsTypes.h:156