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 );
}
}