Partager via


Type de nuanceur

La syntaxe de déclaration d’une variable de nuanceur dans un effet est passée de Direct3D 9 à Direct3D 10.

Type de nuanceur pour Direct3D 10

Déclarez une variable de nuanceur dans une passe d’effet (dans Direct3D 10) à l’aide de la syntaxe de type nuanceur :

SetPixelShader Compile( ShaderTarget, ShaderFunction ); SetGeometryShader Compile( ShaderTarget, ShaderFunction ); SetVertexShader Compile( ShaderTarget, ShaderFunction );

Paramètres

Élément Description
SetXXXShader
Appel d’API Direct3D qui crée l’objet nuanceur. Peut être : SetPixelShader ou SetGeometryShader ou SetVertexShader.
ShaderTarget
Modèle de nuanceur sur lequel compiler. Cela est valide pour toutes les cibles Direct3D 9, ainsi que les cibles du modèle de nuanceur 4 : vs_4_0, gs_4_0 et ps_4_0.
ShaderFunction
Chaîne ASCII qui contient le nom de la fonction de point d’entrée du nuanceur ; il s’agit de la fonction qui commence l’exécution lorsque le nuanceur est appelé. (...) représente les arguments du nuanceur ; il s’agit des mêmes arguments passés à l’API de création du nuanceur : VSSetShader , GSSetShader ou PSSetShader.

Exemple

Voici un exemple qui crée un nuanceur de vertex et un objet de nuanceur de pixels, compilés pour un modèle de nuanceur particulier. Dans l’exemple Direct3D 10, il n’y a pas de nuanceur de géométrie, de sorte que le pointeur a la valeur NULL.

// Direct3D 10
technique10 Render
{
    pass P0
    {
        SetVertexShader( CompileShader( vs_4_0, VS() ) );
        SetGeometryShader( NULL );
        SetPixelShader( CompileShader( ps_4_0, PS() ) );
    }
}

Type de nuanceur pour Direct3D 9

Déclarez une variable de nuanceur dans une passe d’effet (pour Direct3D 9) à l’aide de la syntaxe de type nuanceur :

PixelShader = compiler ShaderTarget ShaderFunction (...); VertexShader = compiler ShaderTarget ShaderFunction (...);

Paramètres

Élément Description
XXXShader
Variable de nuanceur, qui représente le nuanceur compilé. Peut être : PixelShader ou VertexShader.
ShaderTarget
Modèle de nuanceur sur lequel compiler ; dépend du type de variable de nuanceur.
ShaderFunction (...)
Chaîne ASCII qui contient le nom de la fonction de point d’entrée du nuanceur ; il s’agit de la fonction qui commence l’exécution lorsque le nuanceur est appelé. (...) représente les arguments du nuanceur ; il s’agit des mêmes arguments passés à l’API de création du nuanceur : SetVertexShader ou SetPixelShader.

Exemple

Voici un exemple de nuanceur de vertex et d’objet de nuanceur de pixels, compilés pour un modèle de nuanceur particulier.

// Direct3D 9
technique RenderSceneWithTexture1Light
{
    pass P0
    {          
        VertexShader = compile vs_2_0 RenderSceneVS( 1, true, true );
        PixelShader  = compile ps_2_0 RenderScenePS( true );
    }
}

Voir aussi

Types de données (DirectX HLSL)