09.05

신승빈·2022년 9월 5일
0

KGCA 수업

목록 보기
35/128

SamplerState

Texture를 Sampling 하는 방법
Texture의 UV좌표가 1을 넘을때 처리 방법
Texture의 해상도가 출력 해상도와 맞지 않을 때 삭제 또는 확대하는 방법

D3D11_FILTER

min : 축소
mag : 확대
mip : 밉맵

point 방식

최근점 샘플링
가장 가까운 texture의 픽셀 선택

D3D11_TEXTURE_ADDRESS_MODE

wrap : 반복, 복사, 격자무늬
clamp : 경계 픽셀로 채우기
border : 지정된 색상으로 채우기

Mask Image

스프라이트 이미지의 배경이 꼭 무색이 아닐수도 있음
스프라이트 이미지 중 유의미한 부분만을 지정하기 위해 표현한 이미지

Origin Image

Mask Image

제외 방법

discard

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;
}

ID3D11BlendState

profile
이상을 길잡이 삼아 로망을 추구합니다.

0개의 댓글