Sintaxis de la función Effect (Direct3D 11)
Una función de efecto se escribe en HLSL y se declara con la sintaxis descrita en esta sección.
Sintaxis
ReturnTypeFunctionName ( [ ArgumentList ] )
{
- \[ *Instrucciones* \]
};
Nombre | Descripción |
---|---|
ReturnType | Cualquier tipo HLSL |
FunctionName | Cadena ASCII que identifica de forma única el nombre de la función de sombreador. |
ArgumentList | Uno o varios argumentos, separados por comas (vea Argumentos de función (DirectX HLSL)). |
Instrucciones | Una o varias instrucciones (vea Instrucciones (DirectX HLSL)) que componen el cuerpo de la función. Si se define una función sin un cuerpo, se considera un prototipo; y deben volver a definirse con un cuerpo antes de su uso. |
Una función de efecto puede ser un sombreador o simplemente puede ser una función llamada por un sombreador. Una función se identifica de forma única por su nombre, los tipos de sus parámetros y la plataforma de destino; por lo tanto, las funciones se pueden sobrecargar. Cualquier función HLSL válida debe ajustarse a este formato; para obtener una lista más detallada de la sintaxis de las funciones HLSL, consulte Functions (DirectX HLSL).
Ejemplo
A continuación se muestra un ejemplo de una función de sombreador de píxeles.
PS_OUTPUT RenderScenePS( VS_OUTPUT In,
uniform bool bTexture )
{
PS_OUTPUT Output;
// Lookup mesh texture and modulate it with diffuse
if( bTexture )
Output.RGBColor = g_MeshTexture.Sample(MeshTextureSampler, In.TextureUV) *
In.Diffuse;
else
Output.RGBColor = In.Diffuse;
return Output;
}
Temas relacionados