혼합(3) - 픽셀 자르기

WanJu Kim·2022년 12월 31일

Direct3D

목록 보기
28/29

원본 픽셀을 더 이상의 처리 없이 완전히 잘라내야 할 때가 있다. 이럴 경우에는 hlsl의 내장 명령인 clip(x) 함수를 이용한다. 이를 통해 원하는 부분의 픽셀을 자를 수 있다. 다음 그림의 일부를 잘라보겠다.

일부러 이미지 전체를 반투명화 시켰다. 부분 투명화는 어케 하는 거야... 그리고 hlsl PS 부분을 수정해준다.

float4 PS(PixelInput input) : SV_Target	
{
    
    float4 color = 0;
        color = sourceTex.Sample(samp, input.uv);
    clip(color.a - 0.5f);
        return color;
}

clip(x)는 x의 값이 0 이하인 부분을 자르라는 말이다. color.a는 지금 이미지의 투명도를 말한다. 이미지가 반투명하니 0.5를 빼면 0이 돼서 잘리게 된다.

profile
Question, Think, Select

0개의 댓글