DirectX 2

[DX11] Shader에 Vertex넘길 때 주의 해야 할 점!! (Shader 디버깅 Tip)

1. 문제 상황 이렇게 정점은 위치/normal/색/uv좌표 순으로 Shader에 넘겨주고 있었고 Pixel Shader에서는 적절히 받아온 텍스처를 Sampling해주고 있었습니다. 그런데 여기서 발생한 문제점이 Texture의 색들이 전부 섞여서 나타나는 것이었습니다.  색이 섞이는 것을 알게 될때 까지도 상당한 시간이 소요 됐습니다. 우선 위의 사진처럼 큐브 텍스처를 넘겨주게 되면 전체가 회색으로 렌더링 되었습니다.     2. 원인 추론 문제를 바탕으로 추론한점은 다음과 같습니다.  2-1. UV좌표가 잘못 됐나?UV좌표가 잘못 넘어가서 큐브 텍스처 바깥에 있는 회색 공간에 Mapping이 되어있는 것인가? 그러나 이 추측은 잘못된 것으로 밝혀 졌는데  그 이유는 아래 처럼 텍스처를 변경한뒤 파이..

DirectX11 2025.03.25

[DX11] Texture Atlas, UV좌표계

오늘은 Texture Atlas와 UV좌표계에 대해서 알아보도록 하겠습니다. Texture Atlas는 여러 개의 작은 텍스처를 하나의 큰 POT 텍스처에 배치하는 방식이다. 아틀라스는 기본적으로 텍스처를 화면에 그릴때 최적화를 위하여 사용됩니다.  우리가 사용하고 싶은 텍스처들은 정말 다양한 크기가 존재합니다. 어떤 텍스처들은 Power Of Two(2의 거듭제곱)꼴로 나타내어진 256x256 512x512의 크기를 가진 텍스처도 있을것이고 그렇지 못한 텍스처도 분명 존재합니다.POT 텍스처 : 256x256, 512x512, 1024x1024NPOT(Non-Power of Two) 텍스처 : 300x500, 750x750그러나 여기서 핵심는 그래픽연산을 수행하는 GPU는 POV형태의 텍스처를 가장 빨..

DirectX11 2025.03.19