조각 선언 구문(Direct3D 9 HLSL)
각 Microsoft HLSL(High Level Shader Language) 함수는 조각 선언을 추가하여 셰이더 조각으로 변환할 수 있습니다.
Syntax
fragmentKeyword FragmentName = compile_fragment shaderProfile FunctionName();
여기서
값 | 설명 |
---|---|
fragmentKeyword | 필수 키워드입니다. pixelfragment 또는 vertexfragment입니다. |
FragmentName | 컴파일된 조각 이름을 지정하는 ASCII 텍스트 문자열입니다. |
compile_fragment | 필수 키워드입니다. |
shaderProfile | 컴파일할 셰이더 모델입니다. 유효한 꼭짓점 셰이더 프로필(D3DXGetVertexShaderProfile 참조) 또는 픽셀 셰이더 프로필(D3DXGetPixelShaderProfile 참조)입니다. |
FunctionName() | 셰이더 함수 이름 뒤에 괄호가 옵니다. |
공유 조각 매개 변수는 의미 체계에 'r_' 접두사를 추가하여 표시됩니다.
void AmbientDiffuse( float3 vPosWorld: r_PosWorld,
float3 vNormalWorld: r_NormalWorld,
out float4 vColor: COLOR0 )
{
// Compute the light vector
float3 vLight = normalize( g_vLightPosition - vPosWorld );
// Compute the ambient and diffuse components of illumination
vColor = g_vLightColor * g_vMaterialAmbient;
vColor += g_vLightColor * g_vMaterialDiffuse * saturate( dot( vLight, vNormalWorld ) );
}
vertexfragment AmbientDiffuseFragment = compile_fragment vs_1_1 AmbientDiffuse();
이 예에서 r_PosWorld 및 r_NormalWorld 의미 체계는 이 두 매개 변수가 다른 조각 간에 공유 매개 변수임을 식별합니다.
참고
조각 링커는 D3DX 9의 Microsoft Direct3D 9 기술이었습니다. 조각 링커는 도구(Flink.exe), D3DX 9 API 및 HLSL 향상 기능이었습니다. 조각 링커는 2009년 8월 DirectX SDK 릴리스부터 삭제되었습니다. 조각 링커는 Microsoft Direct3D 10, Microsoft Direct3D 10.1 또는 Microsoft Direct3D 11에 적용되지 않았습니다.
관련 항목