IDirect3DDevice9 ::CreateTexture, méthode (d3d9helper.h)

Crée une ressource de texture.

Syntaxe

HRESULT CreateTexture(
  [in]          UINT              Width,
  [in]          UINT              Height,
  [in]          UINT              Levels,
  [in]          DWORD             Usage,
  [in]          D3DFORMAT         Format,
  [in]          D3DPOOL           Pool,
  [out, retval] IDirect3DTexture9 **ppTexture,
  [in]          HANDLE            *pSharedHandle
);

Paramètres

[in] Width

Type : UINT

Largeur du niveau supérieur de la texture, en pixels. Les dimensions de pixel des niveaux suivants seront la valeur tronquée de la moitié de la dimension de pixels du niveau précédent (indépendamment). Chaque dimension se serre à une taille de 1 pixel. Ainsi, si la division par 2 aboutit à 0, 1 sera pris à la place.

[in] Height

Type : UINT

Hauteur du niveau supérieur de la texture, en pixels. Les dimensions de pixel des niveaux suivants seront la valeur tronquée de la moitié de la dimension de pixels du niveau précédent (indépendamment). Chaque dimension se serre à une taille de 1 pixel. Ainsi, si la division par 2 aboutit à 0, 1 sera pris à la place.

[in] Levels

Type : UINT

Nombre de niveaux dans la texture. Si cette valeur est nulle, Direct3D génère tous les sous-niveaux de texture jusqu’à 1 pixels pour le matériel qui prend en charge les textures mipmapped. Appelez IDirect3DBaseTexture9 ::GetLevelCount pour voir le nombre de niveaux générés.

[in] Usage

Type : DWORD

L’utilisation peut être 0, ce qui indique aucune valeur d’utilisation. Toutefois, si l’utilisation est souhaitée, utilisez une combinaison d’une ou plusieurs constantes D3DUSAGE . Il est recommandé de faire correspondre le paramètre d’utilisation avec les indicateurs de comportement dans IDirect3D9 ::CreateDevice.

[in] Format

Type : D3DFORMAT

Membre du D3DFORMAT type énuméré, décrivant le format de tous les niveaux de la texture.

[in] Pool

Type : D3DPOOL

Membre du D3DPOOL type énuméré, décrivant la classe de mémoire dans laquelle la texture doit être placée.

[out, retval] ppTexture

Type : IDirect3DTexture9**

Pointeur vers une interface IDirect3DTexture9 , représentant la ressource de texture créée.

[in] pSharedHandle

Type : HANDLE*

Réservé. Définissez ce paramètre sur NULL. Ce paramètre peut être utilisé dans Direct3D 9 pour Windows Vista pour partager des ressources.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.

Remarques

Une application peut découvrir la prise en charge de la génération automatique de Mipmaps (Direct3D 9) dans un format particulier en appelant IDirect3D9 ::CheckDeviceFormat avec D3DUSAGE_AUTOGENMIPMAP. Si IDirect3D9 ::CheckDeviceFormat retourne D3DOK_NOAUTOGEN, IDirect3DDevice9 ::CreateTexture réussit, mais retourne une texture à un niveau.

Dans Windows Vista, CreateTexture peut créer une texture à partir d’un pointeur de mémoire système, ce qui permet à l’application de bénéficier d’une plus grande flexibilité sur l’utilisation, l’allocation et la suppression de la mémoire système. Par exemple, une application peut passer un pointeur bitmap de mémoire système GDI et obtenir une interface de texture Direct3D autour d’elle. L’utilisation d’un pointeur de mémoire système avec CreateTexture présente les restrictions suivantes.

  • Le pitch de la texture doit être égal à la largeur multipliée par le nombre d’octets par pixel.
  • Seules les textures avec un seul niveau mipmap sont prises en charge. L’argument Levels doit être 1.
  • L’argument Pool doit être D3DPOOL_SYSTEMMEM.
  • L’argument pSharedHandle doit être un pointeur valide vers une mémoire tampon qui peut contenir le point de mémoire système ; *pSharedHandle doit être un pointeur valide vers la mémoire système avec une taille en octets de largeur de texture * hauteur de texture * octets par pixel du format de texture.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9helper.h (incluez D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9