ID3D11Device3::CreateTexture2D1 method (d3d11_3.h)
Creates a 2D texture.
Syntax
HRESULT CreateTexture2D1(
[in] const D3D11_TEXTURE2D_DESC1 *pDesc1,
[in, optional] const D3D11_SUBRESOURCE_DATA *pInitialData,
[out, optional] ID3D11Texture2D1 **ppTexture2D
);
Parameters
[in] pDesc1
Type: const D3D11_TEXTURE2D_DESC1*
A pointer to a D3D11_TEXTURE2D_DESC1 structure that describes a 2D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generate mipmap levels automatically, set the number of mipmap levels to 0.
[in, optional] pInitialData
Type: const D3D11_SUBRESOURCE_DATA*
A pointer to an array of D3D11_SUBRESOURCE_DATA structures that describe subresources for the 2D texture resource. Applications can't specify NULL for pInitialData when creating IMMUTABLE resources (see D3D11_USAGE). If the resource is multisampled, pInitialData must be NULL because multisampled resources can't be initialized with data when they're created.
If you don't pass anything to pInitialData, the initial content of the memory for the resource is undefined. In this case, you need to write the resource content some other way before the resource is read.
You can determine the size of this array from values in the MipLevels and ArraySize members of the D3D11_TEXTURE2D_DESC1 structure to which pDesc1 points by using the following calculation:
MipLevels * ArraySize
For more info about this array size, see Remarks.
[out, optional] ppTexture2D
Type: ID3D11Texture2D1**
A pointer to a memory block that receives a pointer to a ID3D11Texture2D1 interface for the created texture. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation).
Return value
Type: HRESULT
If the method succeeds, the return code is S_OK. See Direct3D 11 Return Codes for failing error codes.
Remarks
CreateTexture2D1 creates a 2D texture resource, which can contain a number of 2D subresources. The number of subresources is specified in the texture description. All textures in a resource must have the same format, size, and number of mipmap levels.
All resources are made up of one or more subresources. To load data into the texture, applications can supply the data initially as an array of D3D11_SUBRESOURCE_DATA structures pointed to by pInitialData, or they can use one of the D3DX texture functions such as D3DX11CreateTextureFromFile.
For a 32 x 32 texture with a full mipmap chain, the pInitialData array has the following 6 elements:
- pInitialData[0] = 32x32
- pInitialData[1] = 16x16
- pInitialData[2] = 8x8
- pInitialData[3] = 4x4
- pInitialData[4] = 2x2
- pInitialData[5] = 1x1
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 [desktop apps only] |
Minimum supported server | Windows Server 2016 [desktop apps only] |
Target Platform | Windows |
Header | d3d11_3.h |
Library | D3D11.lib |