Instruction return
Une instruction de retour signale la fin d’une fonction.
return [value];
L’instruction de retour la plus simple retourne le contrôle de la fonction au programme appelant ; elle ne retourne aucune valeur.
void main()
{
return ;
}
Toutefois, une instruction de retour peut retourner une ou plusieurs valeurs. Cet exemple retourne une valeur littérale :
float main( float input : COLOR0) : COLOR0
{
return 0;
}
Cet exemple retourne le résultat scalaire d’une expression.
return light.enabled = true ;
Cet exemple retourne un vecteur à quatre composants construit à partir d’une variable locale et d’un littéral.
return float4(color.rgb, 1) ;
Cet exemple retourne un vecteur à quatre composants construit à partir du résultat retourné à partir d’une fonction intrinsèque, ainsi que des valeurs littérales.
float4 func(float2 a: POSITION): COLOR
{
return float4(sin(length(a) * 100.0) * 0.5 + 0.5, sin(a.y * 50.0), 0, 1);
}
Cet exemple retourne une structure qui contient un ou plusieurs membres.
float4x4 WorldViewProj;
struct VS_OUTPUT
{
float4 Pos : POSITION;
};
VS_OUTPUT VertexShader_Tutorial_1(float4 inPos : POSITION )
{
VS_OUTPUT out;
out.Pos = mul(inPos, WorldViewProj );
return out;
};
Voir aussi