return ステートメント (DirectX HLSL)
return ステートメントは、関数の終わりを示します。
return [値]; |
---|
最も単純な return ステートメントは、関数からの制御を呼び出しプログラムに返します。値は返しません。
void main() { return ; }
ただし、return ステートメントは、1 つまたは複数の値を返すこともできます。次の例は、式のリテラル値を返します。
float main( float input : COLOR0) : COLOR0 { return 0; }
次の例は、式のスカラー結果を返します。
return light.enabled = true ;
次の例は、1 つのローカル変数と 1 つのリテラルから構成される 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; };