Tipo de sombreador
La sintaxis para declarar una variable de sombreador en un efecto cambió de Direct3D 9 a Direct3D 10.
Tipo de sombreador para Direct3D 10
Declare una variable de sombreador dentro de un paso de efecto (en Direct3D 10) mediante la sintaxis de tipo de sombreador:
SetPixelShader Compile( ShaderTarget, ShaderFunction ); SetGeometryShader Compile( ShaderTarget, ShaderFunction ); SetVertexShader Compile( ShaderTarget, ShaderFunction ); |
Parámetros
Elemento | Descripción |
---|---|
SetXXXShader |
La llamada API de Direct3D que crea el objeto de sombreador. Puede ser: SetPixelShader o SetGeometryShader o SetVertexShader. |
ShaderTarget |
Modelo de sombreador con el que se va a compilar. Esto es válido para cualquier destino, incluidos todos los destinos de Direct3D 9, además de los destinos del modelo de sombreador 4 : vs_4_0, gs_4_0 y ps_4_0. |
ShaderFunction |
Cadena ASCII que contiene el nombre de la función de punto de entrada del sombreador; esta es la función que comienza la ejecución cuando se invoca el sombreador. El (...) representa los argumentos del sombreador; estos son los mismos argumentos que se pasan a la API de creación del sombreador: VSSetShader o GSSetShader o PSSetShader. |
Ejemplo
Este es un ejemplo que crea un sombreador de vértices y un objeto de sombreador de píxeles, compilado para un modelo de sombreador determinado. En el ejemplo de Direct3D 10, no hay ningún sombreador de geometría, por lo que el puntero se establece en NULL.
// Direct3D 10
technique10 Render
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, VS() ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, PS() ) );
}
}
Tipo de sombreador para Direct3D 9
Declare una variable de sombreador dentro de un paso de efecto (para Direct3D 9) mediante la sintaxis de tipo de sombreador:
PixelShader = compile ShaderTarget ShaderFunction(...); VertexShader = compile ShaderTarget ShaderFunction(...); |
Parámetros
Elemento | Descripción |
---|---|
XXXShader |
Variable de sombreador, que representa el sombreador compilado. Puede ser: PixelShader o VertexShader. |
ShaderTarget |
Modelo de sombreador con el que se va a compilar; depende del tipo de variable de sombreador. |
ShaderFunction(...) |
Cadena ASCII que contiene el nombre de la función de punto de entrada del sombreador; esta es la función que comienza la ejecución cuando se invoca el sombreador. El (...) representa los argumentos del sombreador; estos son los mismos argumentos que se pasan a la API de creación de sombreador: SetVertexShader o SetPixelShader. |
Ejemplo
Este es un ejemplo de un sombreador de vértices y un objeto de sombreador de píxeles, compilado para un modelo de sombreador determinado.
// Direct3D 9
technique RenderSceneWithTexture1Light
{
pass P0
{
VertexShader = compile vs_2_0 RenderSceneVS( 1, true, true );
PixelShader = compile ps_2_0 RenderScenePS( true );
}
}