기타/DirectX

[DirectX11] 8일차 (DirectXTex 라이브러리 추가 / 텍스쳐 매핑하기)

푸쿠이 2021. 2. 24. 18:01
텍스쳐 로드 라이브러리 다운받기

삼각형과 사각형을 그려봤으니까, 사각형에 텍스쳐를 입혀볼 것이다.

텍스쳐를 읽어야 하니까 라이브러리를 다운받는다.

 

라이브러리를 바로 다운받아도 되는데, 직접 빌드를 해서 lib 파일을 만들어보자.

 

구글에 directxtex을 검색하면, 깃허브 사이트가 나온다.

github.com/microsoft/DirectXTex

 

다운로드를 하고, Zip 파일을 푼다. 2019 솔루션 파일을 Visual Studio로 연다.

 

빌드를 하기 전에, 여기 x64(64비트), x86(32비트)를 정하고 빌드를 한다.

솔루션 구성을 Debug, 솔루션 플랫폼을 x86으로 하고 빌드를 했다. (왼쪽 이미지)

솔루션 구성을 Debug, 솔루션 플랫폼을 x64로 하고 빌드를 했다. (오른쪽 이미지)

 lib를 만들었으니까 프로젝트로 복사해오자.

나는 이 경로로 만들었다.

우리가 코드로 사용하려면 틀을 알아야 한다. (헤더 파일을 알아야 함.)

헤더 파일은 요렇게 복사해서 내 프로젝트에 붙여넣었다. (자기 마음임. 나중에 경로만 알맞게 입력하면 됨.)

 

속성에서

헤더파일 경로는 포함 디렉터리에 설정하고,

lib파일 경로는 라이브러리 디렉터리에 설정해주자.

그 다음 링크 걸어주자.

그럼 정상적으로 사용될 것이다.

 

작성한 DirectX 코드

- Mesh에 Vertex 정보만 저장 -> UV 정보도 추가.

- UV 정보 추가했으니까, InputLayout으로 넘기는 데이터 정보 틀을 수정. (UV 정보도 넘긴다. 라고 알려줌.)

- PixelShader에서 DirectxTex.lib를 이용해 텍스쳐 로드 및 바인딩, 텍스쳐를 어떻게 샘플링할 지. 샘플러도 바인딩.

 

github.com/mingyu243/STL_GraphicsEngine2/tree/7f5e267c7fd712f099d14a0ba3df67739d67b5a4

 

mingyu243/STL_GraphicsEngine2

Contribute to mingyu243/STL_GraphicsEngine2 development by creating an account on GitHub.

github.com

구현 캡처