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

  1. Référence de variable

    ( variable ) or<variable >
    
  2. Scalaire numérique

    scalar 
    
  3. Expression numérique

    ( numeric expression )
    

    Toutes les expressions HLL numériques standard sont prises en charge ici.

  4. Constructeur

    type ( constructor arguments )
    
  5. 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.

  6. 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.

  7. NULL

    NULL
    

    Null ne peut être attribué qu’à un nuanceur, un échantillonneur ou un objet de texture.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

Format d’effet