Texture를 Sampling 하는 방법
Texture의 UV좌표가 1을 넘을때 처리 방법
Texture의 해상도가 출력 해상도와 맞지 않을 때 삭제 또는 확대하는 방법
min : 축소
mag : 확대
mip : 밉맵
최근점 샘플링
가장 가까운 texture의 픽셀 선택
wrap : 반복, 복사, 격자무늬
clamp : 경계 픽셀로 채우기
border : 지정된 색상으로 채우기
스프라이트 이미지의 배경이 꼭 무색이 아닐수도 있음
스프라이트 이미지 중 유의미한 부분만을 지정하기 위해 표현한 이미지
Texture2D g_txTexA : register(t0);
Texture2D g_txTexMaskA : register(t1); // mask 이미지를 담은 register
SamplerState g_SampleWrap : register(s0);
struct PS_input
{
float4 p : SV_POSITION;
float4 c : COLOR0; // COLOR0~COLOR1
float2 t : TEXCOORD0; // TEXCOORD0 ~ TEXCOORD7 (15)
};
float4 PS( PS_input input) : SV_Target
{
float4 vColor = g_txTexA.Sample(g_SampleWrap , input.t);
float4 vMask = g_txTexMaskA.Sample(g_SampleWrap , input.t);
float4 vFinalColor = vColor;
// float4는 xyzw, rgba모두 접근 가능하지만 둘을 혼합해서 사용할 수는 없음
if( vMask.r > 0.5f)
{
discard;
}
return vFinalColor;
}