Expressions (Direct3D 9)
Les expressions sont des instructions mathématiques ou logiques utilisées à droite d’un signe égal. Il existe de nombreux types d’expressions.
Expressions
Référence de variable
( variable ) or<variable >
Scalaire numérique
scalar
Expression numérique
( numeric expression )
Toutes les expressions HLL numériques standard sont prises en charge ici.
Constructeur
type ( constructor arguments )
Liste des initialiseurs
{ scalar value [, scalar value ... ] }
Les scalaires doivent être des valeurs scalaires littérales.
Le nombre d’initialiseurs doit être compatible avec la variable (état) sur le côté gauche du signe égal.
OR Expression
token [ | token ... ]
Les jetons doivent être compatibles avec la variable (état) sur le côté gauche du signe égal.
Les jetons ne respectent pas la casse.
NULL
NULL
Null ne peut être attribué qu’à un nuanceur, un échantillonneur ou un objet de texture.
Bloc d’assembly
asm { code }
Les blocs d’assembly PS doivent être affectés à l’état PIXELSHADER.
Les blocs d’assembly VS doivent être affectés à l’état VERTEXSHADER.
Bloc d’état de l’échantillonneur
sampler_state { [ state = expression ; [ state = ... ] ] }
Les blocs d’état de l’échantillonneur sont des séquences d’affectations d’état ou de texture non indexées de l’étape de l’échantillonneur.
Les blocs d’état de l’échantillonneur doivent être affectés à l’état d’effet SAMPLER.
Bloc d’état d’effet
stateblock_state { [ state [ [index] ] = expression; [ state [ [index] ] = ... ] ] }
Les blocs d’état sont des séquences d’état général. Les blocs d’état peuvent être imbriqués, mais ne peuvent pas contenir de références circulaires.
Les blocs d’état doivent être affectés à l’état d’effet STATEBLOCK.
Compilation HLSL
compile target entrypoint ( [ arguments ] )
Le nuanceur de vertex vs_m_n cible indique D3DVS_VERSION(m, n) version du nuanceur de vertex. Le nuanceur de pixels ps_m_n cible indique D3DPS_VERSION(m, n) version du nuanceur de pixels.
Les expressions de compilation de langage de haut niveau du nuanceur de vertex peuvent uniquement être affectées à l’état d’effet VERTEXSHADER. Les expressions de compilation de langage de haut niveau du nuanceur de pixels peuvent uniquement être affectées à l’état d’effet PIXELSHADER.
Rubriques connexes