Type d’échantillonneur
Utilisez la syntaxe suivante pour déclarer l’état de l’échantillonneur ainsi que l’état de comparaison de l’échantillonneur.
| Différences entre Direct3D 9 et Direct3D 10 et versions ultérieures : Voici la syntaxe d’un échantillonneur dans Direct3D 9.
La syntaxe d’un échantillonneur dans Direct3D 10 et les versions ultérieures est légèrement modifiée pour prendre en charge les objets texture et les tableaux d’échantillonneurs.
|
Paramètres
-
échantillonneur
-
Direct3D 9 uniquement. Mot clé requis.
-
Nomme
-
Chaîne ASCII qui identifie de façon unique le nom de la variable d’échantillonneur.
-
[Évaluer]
-
Direct3D 10 et versions ultérieures uniquement. Taille de tableau facultative ; entier positif supérieur ou égal à 1.
-
SamplerType
-
[dans ] le type d’échantillonneur, qui est l’un des suivants : échantillonner, sampler1D, sampler2D, sampler3D, samplerCUBE, état de l' échantillonneur _, SamplerState.
Différences entre Direct3D 9 et Direct3D 10 et versions ultérieures :
- Direct3D 10 et versions ultérieures prennent en charge un type d’échantillonneur supplémentaire : SamplerComparisonState.
-
Texture = <> _ variable de texture ;
-
Direct3D 9 uniquement. Variable de texture. Le mot clé de texture est obligatoire sur le côté gauche ; le nom de la variable appartient sur le côté droit de l’expression entre crochets pointus.
-
State _ name = valeur d’état _
-
[dans le ] ou les affectations d’État facultatives. La partie gauche d’une assignation est un nom d’État, la partie droite est la valeur d’État. Toutes les attributions d’État doivent apparaître dans un bloc d’instructions (entre accolades). Chaque instruction est séparée par un point-virgule. Le tableau suivant répertorie les noms d’État possibles.
// sampler state AddressU AddressV AddressW BorderColor Filter MaxAnisotropy MaxLOD MinLOD MipLODBias // sampler-comparison state ComparisonFuncLa partie droite de chaque expression correspond à la valeur affectée à chaque État. Consultez la structure DESC de l' _ _ échantillonneur d3d11 pour connaître les valeurs d’État possibles pour Direct3D 11. Il y a une relation 1 à 1 entre les noms d’État et les membres de la structure. Consultez l’exemple qui suit.
Notes
Lorsque vous implémentez un effet, l’état de l’échantillonneur est l’un des différents types d’État que vous devrez peut-être configurer dans le pipeline pour le rendu. Pour obtenir la liste de tous les États possibles que vous pouvez définir dans un effet, consultez :
- Direct3D 10 utilise des groupes d’États.
- Direct3D 9 utilise des Étatsindividuels.
Exemple
| Différences entre Direct3D 9 et Direct3D 10 : Voici un exemple partiel d’un échantillonneur Direct3D 9 issu de l’exemple BasicHLSL.
Voici un exemple partiel d’un échantillonneur Direct3D 10 à partir de l' exemple BasicHLSL10.
|
Voici un exemple partiel de la déclaration de l’état de comparaison de l’échantillonneur et de l’appel d’un échantillonneur de comparaison dans Direct3D 10.
SamplerComparisonState ShadowSampler
{
// sampler state
Filter = COMPARISON_MIN_MAG_LINEAR_MIP_POINT;
AddressU = MIRROR;
AddressV = MIRROR;
// sampler comparison state
ComparisonFunc = LESS;
};
float3 vModProjUV;
...
float fShadow = g_ShadowMap.SampleCmpLevelZero( ShadowSampler, vModProjUV.xy, vModProjUV.z);