PFND3D10DDI_SETRENDERTARGETS fonction de rappel (d3d10umddi.h)

La fonction de rappel SetRenderTargets définit les surfaces cibles de rendu.

Syntaxe

PFND3D10DDI_SETRENDERTARGETS Pfnd3d10ddiSetrendertargets;

void Pfnd3d10ddiSetrendertargets(
  [in] D3D10DDI_HDEVICE unnamedParam1,
  [in] const D3D10DDI_HRENDERTARGETVIEW *unnamedParam2,
  [in] UINT NumViews,
  [in] UINT ClearSlots,
  [in] D3D10DDI_HDEPTHSTENCILVIEW unnamedParam5
)
{...}

Paramètres

[in] unnamedParam1

hDevice : handle du périphérique d’affichage (contexte graphique).

[in] unnamedParam2

phRenderTargetView : tableau de handles vers les objets de vue cible de rendu à définir. Notez que certaines valeurs de handle peuvent être NULL.

[in] NumViews

: nombre d’éléments dans le tableau spécifié par phRenderTargetView .

[in] ClearSlots

Nombre d’emplacements cibles de rendu après le nombre d’emplacements que NumViews spécifie pour avoir la valeur NULL. Ce nombre représente la différence entre le nombre précédent d’objets d’affichage cible de rendu (autrement dit, lorsque le runtime Microsoft Direct3D appelé précédemment SetRenderTargets) et le nouveau nombre d’objets d’affichage cible de rendu.

Notez que le nombre spécifié par ClearTargets n’est qu’une aide à l’optimisation, car le pilote d’affichage en mode utilisateur peut calculer ce nombre.

[in] unnamedParam5

hDepthStencilView : gérez la vue gabarit de profondeur.

Valeur de retour

None

Remarques

Le pilote peut utiliser la fonction de rappel pfnSetErrorCb pour définir un code d’erreur.

Le pilote d’affichage en mode utilisateur doit définir toutes les surfaces cibles de rendu et la mémoire tampon de gabarit de profondeur de manière atomique en une seule opération.

Bien que le paramètre NumViews spécifie le nombre de handles dans le tableau que le paramètre phRenderTargetView spécifie, certaines valeurs de handle dans le tableau peuvent être NULL.

La plage de surfaces cibles de rendu entre le nombre spécifié par NumViews et le nombre maximal de surfaces cibles de rendu autorisées est requise pour contenir toutes les valeurs NULL ou non liées. Le nombre spécifié par le paramètre ClearTargets informe le pilote du nombre de points de liaison que le pilote doit effacer pour l’opération atomique en cours.

Si l’appel précédent à SetRenderTargets a passé la valeur 2 dans le paramètre NumViews et que l’appel actuel à SetRenderTargets passe une valeur de 4 dans NumViews, l’appel actuel à SetRenderTargets passe également la valeur 0 dans le paramètre ClearTargets . Si l’appel successif suivant à SetRenderTargets transmet la valeur 1 dans NumViews, l’appel successif passe également la valeur 3 (4 - 1) dans ClearTargets.

Lorsque la valeur de cibles claires est demandée pendant les opérations de requête en mode utilisateur, la valeur correspond à la différence entre le nombre maximal de surfaces cibles de rendu et la valeur des cibles de rendu.

Le pilote ne doit rencontrer aucune erreur, à l’exception de D3DDDIERR_DEVICEREMOVED. Par conséquent, si le pilote réussit une erreur, à l’exception de D3DDDIERR_DEVICEREMOVED, dans un appel à la fonction pfnSetErrorCb , le runtime Microsoft Direct3D détermine que l’erreur est critique. Même si l’appareil a été supprimé, le pilote n’est pas tenu de retourner D3DDDIERR_DEVICEREMOVED ; toutefois, si la suppression de l’appareil a interférer avec le fonctionnement de SetRenderTargets (ce qui ne doit généralement pas se produire), le pilote peut retourner D3DDDIERR_DEVICEREMOVED.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb