D2D_PS_ENTRY 함수

지정된 함수 이름을 사용하여 픽셀 셰이더 진입점을 정의하는 매크로입니다.

구문

void WINAPI D2D_PS_ENTRY(
  in string Entryname
);

매개 변수

Entryname [in]

픽셀 셰이더 진입점 이름입니다.

반환 값

이 함수는 값을 반환하지 않습니다.

설명

일반적인 방식으로 진입점의 입력 서명을 지정하는 대신 이 매크로를 사용합니다. 모든 매개 변수는 컴파일 대상 형식(전체 셰이더 또는 내보내기 함수)에 따라 컴파일 중에 Direct2D에서 암시적으로 추가됩니다.

#define D2D_INPUT_COUNT 1 
#define D2D_INPUT0_SIMPLE 
#include  d2d1effectauthor.hlsli  

D2D_PS_ENTRY(LinkingCompatiblePixelShader) 
{ 
    float4 input = D2DGetInput(0);  

    input.rgb *= input.a; 

    return input; 
} 

이 짧은 예제에서는 함수 매개 변수가 선언되지 않고, 각 입력의 입력 수와 입력 유형이 항목 함수 앞에 선언되고, D2DGetInput을 호출하여 입력을 검색하며, 도우미 파일이 포함되기 전에 전처리기 지시문을 정의해야 합니다.

연결 호환 셰이더는 일반 단일 패스 픽셀 셰이더와 내보내기 셰이더 함수를 모두 제공해야 합니다. D2D_PS_ENTRY 매크로를 사용하면 셰이더 컴파일 스크립트와 함께 사용할 때 동일한 코드에서 이러한 각 매크로를 생성할 수 있습니다.

전체 셰이더를 컴파일할 때 매크로는 D2D 효과 호환 입력 서명이 있는 다음 코드로 확장됩니다.

Texture2D<float4> InputTexture0; 
SamplerState InputSampler0; 

float4 LinkingCompatiblePixelShader(
    float4 pos   : SV_POSITION,   
    float4 posScene : SCENE_POSITION,    
    float4 uv0  : TEXCOORD0 
    ) : SV_Target 
{ 
    float4 input = InputTexture0.Sample(InputSampler0, uv0.xy);  

    input.rgb *= input.a; 

    return input; 
} 

동일한 코드의 내보내기 함수 버전을 컴파일할 때 다음 코드가 생성됩니다.

// Shader function version 
export float4 LinkingCompatiblePixelShader_Function( 
    float4 input0 : INPUT0 
    ) 
{ 
    input.rgb *= input.a; 

    return input; 
} 

일반적으로 Texture2D를 샘플링하여 검색되는 텍스처 입력은 함수 입력 입력0으로 대체되었습니다.

요구 사항

요구 사항
헤더
D2d1effecthelpers.hlsli
DLL
D2d1.dll

추가 정보

효과 셰이더 연결

HLSL 도우미