?/TD> |
Microsoft DirectX 9.0 |
Creates a texture resource.
Syntax
HRESULT CreateTexture(
UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pHandle );
Parameters
- Width
- [in] Width of the top-level of the texture, in pixels. The pixel dimensions of subsequent levels will be the truncated value of half of the previous level's pixel dimension (independently). Each dimension clamps at a size of 1 pixel. Thus, if the division by 2 results in 0, 1 will be taken instead.
- Height
- [in] Height of the top-level of the texture, in pixels. The pixel dimensions of subsequent levels will be the truncated value of half of the previous level's pixel dimension (independently). Each dimension clamps at a size of 1 pixel. Thus, if the division by 2 results in 0, 1 will be taken instead.
- Levels
- [in] Number of levels in the texture. If this is zero, Microsoft?Direct3D?will generate all texture sublevels down to 1 by 1 pixels for hardware that supports mipmapped textures. Call IDirect3DBaseTexture9::GetLevelCount to see the number of levels generated.
- Usage
- [in] Usage can be 0, which indicates no usage value. However, if usage is desired, use a combination of one or more D3DUSAGE constants. It is good practice to match the usage parameter with the behavior flags in IDirect3D9::CreateDevice.
- Format
- [in] Member of the D3DFORMAT enumerated type, describing the format of all levels in the texture.
- Pool
- [in] Member of the D3DPOOL enumerated type, describing the memory class into which the texture should be placed.
- ppTexture
- [out, retval] Pointer to an IDirect3DTexture9 interface, representing the created texture resource.
- pHandle
- [in] Reserved. Set this parameter to NULL.
Return Value
If the method succeeds, the return value is D3D_OK.
The method may also return:
D3DERR_INVALIDCALL The method call is invalid. For example, a method's parameter may have an invalid value. D3DERR_OUTOFVIDEOMEMORY Direct3D does not have enough display memory to perform the operation. E_OUTOFMEMORY Direct3D could not allocate sufficient memory to complete the call.
Remarks
An application can discover support for Automatic Generation of Mipmaps in a particular format by calling IDirect3D9::CheckDeviceFormat with D3DUSAGE_AUTOGENMIPMAP. If IDirect3D9::CheckDeviceFormat returns D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateTexture will succeed, but it will return a one level texture.