효과 함수 구문(Direct3D 11)
효과 함수는 HLSL로 작성되며 이 섹션에 설명된 구문을 사용하여 선언됩니다.
Syntax
ReturnTypeFunctionName ( [ ArgumentList ] )
{
- \[ *Statements* \]
};
속성 | Description |
---|---|
ReturnType | 모든 HLSL 형식 |
FunctionName | 셰이더 함수의 이름을 고유하게 식별하는 ASCII 문자열입니다. |
ArgumentList | 하나 이상의 인수를 쉼표로 구분합니다( 함수 인수(DirectX HLSL 참조)). |
문 | 함수 본문을 구성하는 하나 이상의 문 (DirectX HLSL 참조)입니다. 함수가 본문 없이 정의되면 프로토타입으로 간주됩니다. 및 는 사용 전에 본문으로 다시 정의해야 합니다. |
효과 함수는 셰이더이거나 단순히 셰이더에서 호출하는 함수일 수 있습니다. 함수는 이름, 매개 변수 형식 및 대상 플랫폼으로 고유하게 식별됩니다. 따라서 함수를 오버로드할 수 있습니다. 모든 유효한 HLSL 함수는 이 형식에 맞아야 합니다. HLSL 함수에 대한 자세한 구문 목록은 함수(DirectX HLSL)를 참조하세요.
예제
다음은 픽셀 셰이더 함수의 예입니다.
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;
}
관련 항목