Texture Mapping

원래벌레·2022년 8월 12일
0

🌞 Texture란?

  • Texture는 jpg, png와 같은 이미지 파일로 게임에서 모델을 만들 때 사용하는 이미지를 뜻한다.

🌼 UV좌표

  • UV 좌표계는 3차원 공간에 폴리곤에 텍스쳐를 입히기 위한 기준이 되는 2차원 좌표계이다. UV 좌표는 최소0 최대1의 좌표를 가지고 있다.

🌼 Texture Mapping

  • 정점 대신 UV좌표를 매핑하여 텍스처를 입히는 작업으로, 그림을 오려서 붙이는 작업이라고 생각하면 된다.

cf) rasterizer : 정점을 통해서 이루어지는 픽셀을 파악해준다. 또한 픽셀 하나하나에 모두 정보를 주지 않고 정점에 대해서 정보를 주어도 그 사이에 있는 픽셀에 대하여 비율을 고려해 색깔과 같은 정보를 넣어주는 편리한 기능이다.


🌞 Texture Mapping 코드 흐름

엔진

  • Pch에 SRV(Shader Resource View)에 이용할 enum을 만들어준다. Table의 항목, Table의 크기등이 포함된다.

  • RootSignature에 SRV와 SamplerDesc를 추가해준다.

  • CommandQueue에서 CBV와 같은 방식으로 Set메소드를 통하여Table과 handle을 매핑해준다.

  • Shader의 불러오는 파일인 hlsli 파일에 Texture와 SamplerState를 추가해주고, uv를 이용할 것이기 때문에 Input과 Output에 float2 uv를 추가해준다.

  • Shader의 Init에 D3D12_INPUT_DESC에 UV 항목을 추가해준다.


실행

1) 클라이언트 실행부에서 Input에 UV의 값을 받도록 한다.
2) Texture를 이용하여 이미지를 로드한다.


profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글