Share via


return ステートメント

return ステートメントは、関数の終了を通知します。

return [value];

 

最も単純な return ステートメントは、関数から呼び出し元のプログラムに制御を返します。値は返されません。

void main()
{
    return ;
}

ただし、return ステートメントは 1 つ以上の値を返すことができます。 次の例では、リテラル値を返します。

float main( float input : COLOR0) : COLOR0
{
    return 0;
}

次の使用例は、式のスカラー結果を返します。

return  light.enabled = true ;

次の使用例は、ローカル変数とリテラルから構築された 4 成分ベクトルを返します。

return  float4(color.rgb, 1) ;

次の使用例は、リテラル値と共に組み込み関数から返される結果から構築された 4 成分ベクトルを返します。

float4 func(float2 a: POSITION): COLOR
{
    return float4(sin(length(a) * 100.0) * 0.5 + 0.5, sin(a.y * 50.0), 0, 1);
}

次の使用例は、1 つ以上のメンバーを含む構造体を返します。

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

関連項目

Functions (DirectX HLSL)