Tipo de Sombreador
A sintaxe para declarar uma variável de sombreador em um efeito mudou de Direct3D 9 para Direct3D 10.
Tipo de sombreador para Direct3D 10
Declare uma variável de sombreador dentro de uma passagem de efeito (no Direct3D 10) usando a sintaxe de tipo de sombreador:
SetPixelShader Compile( ShaderTarget, ShaderFunction ); SetGeometryShader Compile( ShaderTarget, ShaderFunction ); SetVertexShader Compile( ShaderTarget, ShaderFunction ); |
Parâmetros
Item | Descrição |
---|---|
SetXXXShader |
A chamada à API do Direct3D que cria o objeto de sombreador. Pode ser: SetPixelShader ou SetGeometryShader ou SetVertexShader. |
ShaderTarget |
O modelo de sombreador no qual compilar. Isso é válido para qualquer destino, incluindo todos os destinos do Direct3D 9 mais os destinos do modelo de sombreador 4 : vs_4_0, gs_4_0 e ps_4_0. |
ShaderFunction |
Uma cadeia de caracteres ASCII que contém o nome da função de ponto de entrada do sombreador; essa é a função que inicia a execução quando o sombreador é invocado. O (...) representa os argumentos do sombreador; esses são os mesmos argumentos passados para as APIs de criação do sombreador: VSSetShader ou GSSetShader ou PSSetShader. |
Exemplo
Aqui está um exemplo que cria um sombreador de vértice e um objeto de sombreador de pixel, compilados para um modelo de sombreador específico. No exemplo do Direct3D 10, não há sombreador de geometria, portanto, o ponteiro é definido como 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 uma variável de sombreador dentro de uma passagem de efeito (para Direct3D 9) usando a sintaxe de tipo de sombreador:
PixelShader = compilar ShaderTarget ShaderFunction(...); VertexShader = compilar ShaderTarget ShaderFunction(...); |
Parâmetros
Item | Descrição |
---|---|
XXXShader |
Uma variável de sombreador, que representa o sombreador compilado. Pode ser: PixelShader ou VertexShader. |
ShaderTarget |
O modelo de sombreador no qual compilar ; depende do tipo de variável de sombreador. |
ShaderFunction(...) |
Uma cadeia de caracteres ASCII que contém o nome da função de ponto de entrada do sombreador; essa é a função que inicia a execução quando o sombreador é invocado. O (...) representa os argumentos do sombreador; esses são os mesmos argumentos passados para as APIs de criação do sombreador: SetVertexShader ou SetPixelShader. |
Exemplo
Aqui está um exemplo de um sombreador de vértice e um objeto de sombreador de pixel, compilados para um modelo de sombreador específico.
// Direct3D 9
technique RenderSceneWithTexture1Light
{
pass P0
{
VertexShader = compile vs_2_0 RenderSceneVS( 1, true, true );
PixelShader = compile ps_2_0 RenderScenePS( true );
}
}