다음을 통해 공유


조각 선언 구문(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에 적용되지 않았습니다.

 

셰이더 모델 3(DirectX HLSL)