🕹️자체엔진/DirectX 11 개인공부

DirectX11 공부 7주차. 멀티 텍스쳐링과 텍스쳐 배열

Mawile 2022. 3. 18.
728x90

Peakpx

 

안녕하세요!!

오랜만에 dx11 공부가 돌아왔습니다.

저는 이제 dx12에서 텍스쳐를 거의끝마치고 혼합단계에 들어갑니다...

 

확실히 dx12로 텍스쳐 엄청 지지고볶고 dx11와서 공부하는데에... 와.. 이해가 너무 잘되더라구요.

예전같았으면은 그냥 그대로 따라했을텐데, 이번에는 대충 강좌글 흝어보고, 뚝딱뚝딱 알아서 만들어보았습니다.

(사실 dx12만 보다가 dx11로 오랜만에 와서그런지 dx11초기화공정을 까먹어서 한번더 보고시작함. ㅎㅎ..)

 

일단 이번에 공부한 내용은 멀티텍스쳐링입니다.

여러개의 텍스쳐배열을 통해서 픽셀셰이더에서 텍스쳐배열로 불러온 텍스쳐들을 모두 합치는 기법이예요.

 

참고

https://www.rastertek.com/

 

RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials

The purpose of this website is to provide tutorials for graphics programming using DirectX 10, DirectX 11, and DirectX 12. The DirectX tutorials are written using C++ with HLSL and use shader version 4.0, 5.0, and 5.1. I also have tutorials for different p

www.rastertek.com

 

DirectX11 공부 7주차. 멀티 텍스쳐링과 텍스쳐 배열

이번에는 이해가 너무 잘되다보니까 뭐 뚝딱뚝딱만들었네요.

일단 기본베이스는 "DirectX11 공부 3주차. 텍스쳐, 조명, 3d모델 렌더링, 주변광" 

에서 다루었던 텍스쳐에 관한 프로젝트에다가 이어서 만들었죠.

 

https://mawile.tistory.com/234?category=1053396 

 

DirectX11 공부 3주차. 텍스쳐, 조명, 3d모델 렌더링, 주변광

안녕하세요!! 1주일만에 포스팅입니다 이번에는 좀 뒹굴거리다가 폭풍공부를 하고왔습니다. 이번에는 배운내용이 좀 많은데, 그 이유는 내용이 다 연계되어있어서입니다. 조명관련을 배웠더니

mawile.tistory.com

 

 

일단 아래와 같이 두 dds파일을 입력받아서 말그대로 합칩니다.

 

그래서 두 텍스쳐를 어떻게 합치냐?

매우매우매우 간단했어요.

1. 우선 SRV를 두개만듭니다.

 

2. 그다음 PSSetShaderResourceView로 텍스쳐크기 2로 적용켜주시고 (그냥 이전 프로젝트에서 이어서하면됨)

3. 픽셀셰이더 hlsl파일을 이렇게 수정하시면되요.

Texture2D shaderTexture[2];
SamplerState sampleState;

struct pixelShader {
	float4 position : SV_POSITION;
	float2 tex : TEXCOORD0;
};

float4 getTex(pixelShader pixelInput) : SV_TARGET {
	float4 color1 = shaderTexture[0].Sample(sampleState, pixelInput.tex);
	float4 color2 = shaderTexture[1].Sample(sampleState, pixelInput.tex);

	float4 blendColor = color1 * color2 * 2.0f;

	return saturate(blendColor);
}

 

SRV로 입력받은 두 텍스쳐배열을 샘플링한다음에

곱하세요!!

 

그다음 2.0f을 곱하는데 이건 gamma correction이라고 해가지고 혼합계수입니다.

이제 결과를 봅시다.

 

굳!

정상적으로 합쳐졌어요. 매우 간단한 챕터였습니다.

 

마치며...

이번에 오랜만에 dx11 튜토공부를 해보았습니다.

정말재밌네요. 나중에 3D게임제작을 위해 요즘에 물리엔진공부도 하는중인데요.

너무 어렵네요... 허... 영혼가출할것같아요 ㅋㅋ...

 

쨌든 .. 올해안에 dx11 dx12 모두 튜토리얼 마스터도전!

 

글 읽어주셔서 감사합니다!

 


728x90

댓글