tex3Dgrad
Échantillonne une texture 3D à l’aide d’un dégradé pour sélectionner le niveau mip.
ret tex3Dgrad(s, t, ddx, ddy) |
---|
Paramètres
Élément | Description |
---|---|
s |
[in] État de l’échantillonneur. |
T |
[in] Coordonnée de texture. |
Ddx |
[in] Taux de modification de la géométrie de surface dans la direction x. |
ddy |
[in] Taux de modification de la géométrie de surface dans la direction y. |
Valeur renvoyée
Valeur des données de texture.
Description du type
Name | Entrée/Sortie | Type de modèle | Type de composant | Taille |
---|---|---|---|---|
s | in | Objet | sampler3D | 1 |
t | in | Vecteur | Flotteur | 3 |
Ddx | in | Vecteur | Flotteur | 3 |
ddy | in | Vecteur | Flotteur | 3 |
Ret | out | Vecteur | Flotteur | 4 |
Modèle de nuanceur minimal
Cette fonction est prise en charge dans les modèles de nuanceur suivants.
Modèle de nuanceur | Prise en charge |
---|---|
Modèle de nuanceur 4 | oui (nuanceur de pixels uniquement) |
Modèle de nuanceur 3 (DirectX HLSL) | oui (nuanceur de pixels uniquement) |
Shader Model 2 (DirectX HLSL) | oui (nuanceur de pixels uniquement) |
Modèle de nuanceur 1 (DirectX HLSL) | non |
- Une réorganisation significative du code est effectuée pour déplacer les calculs de gradient en dehors du contrôle de flux.
- Si la limite de D3DPSHADERCAPS2_0 est définie avec D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS, le compilateur mappe cette fonction à texldd.
Notes
Lorsque le contrôle de flux est présent dans un nuanceur, le résultat d’un calcul de dégradé demandé à l’intérieur d’un chemin de branche donné est ambigu lorsque des pixels adjacents peuvent descendre de chemins de contrôle de flux distincts. Par conséquent, il est jugé illégal d’utiliser une opération de nuanceur de pixels qui demande qu’un calcul de dégradé se produise à un emplacement qui se trouve à l’intérieur d’une construction de contrôle de flux qui peut varier d’un pixel à l’autre pour une primitive donnée en cours de rastérisation. Si l’un ou l’autre côté d’une instruction if avec l’attribut de branche utilise une fonction de dégradé, une erreur du compilateur peut être générée. Consultez l’instruction if (DirectX HLSL).