return 문

return 문은 함수의 끝을 알립니다.

return [value];

 

가장 간단한 return 문은 함수에서 호출 프로그램으로 컨트롤을 반환합니다. 값을 반환하지 않습니다.

void main()
{
    return ;
}

그러나 return 문은 하나 이상의 값을 반환할 수 있습니다. 이 예는 리터럴 값을 반환합니다.

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

이 예는 하나 이상의 멤버를 포함하는 구조체를 반환합니다.

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

추가 정보

함수(DirectX HLSL)