[DirectX12] #Part 2 - Direct 3D 기초
"DirectX12를 이용한 3D 게임 프로그래밍 입문" 서적의 Part 2, "Direct3D의 기초"에 해당하는 내용입니다.
현재, 게임 개발에 입문하여 기초지식을 습득하여 기록하기 위함이며, 개념 이해와 예제코드 작성을 진행.
2.3 텍스처 형식
기본적으로 2차원 텍스처는 자료 원소들을 담는 2차원 행렬입니다. 2차원 텍스처는 2차원 이미지를 담고 있으며, 각 원소는 해당 이미지의 픽셀 하나의 색상 정보를 갖는다. 단순히 2차원 이미지의 픽셀 정보를 담는것보다 훨씬 범용적으로 사용됩니다. 단순 배열로 취급할 수 없습니다. 그렇다고, 아무 자료나 담을 수 있는것도 아니죠. Texture에는 특정 형식의 자료 원소들만 담고, 이는 DXGI_FORMAT이라는 열거형(enum)으로 지정합니다.
DXGI_FORMAT 예제
1. DXGI_FORMAT_R32G32B32_FLOAT: Float형식 3가지 성분 3개
2. DXGI_FORMAT_R16G16B16A16_UNORM: [0, 1] 구간으로 사상되는 16bit 성분 3개
3. DXGI_FORMAT_R32G32_UNIT: 32bit unsigned int 성분 2개
4. DXGI_FORMAT_R8G8B8A8_SNORM: [0, 1] 구간으로 사상되는 8bit 성분 4개
5. DXGI_FORMAT_R8G8B8A8_SINT: [-128, 127]구간으로 사상되는 부호 있는 8bit 성분 4개
6. DXGI_FORMAT_R8G8B8A8_UINT: [0, 255]구간으로 사상되는 부호없는 8bit 성분 4개
이때, "DXGI_FORMAT_R0G0B0A0"에서 R, G, B, A 는 각각 Red, Green, Blue, 그리고 alpha를 의미합니다. 이 중 alpha는 투명도를 관리합니다. 앞서 말했듯이 Texture는 픽셀의 "색상"을 담을 뿐만 아니라, 3차원 벡터 등 범용적으로 사용됩니다.
'게임개발 > DirectX12' 카테고리의 다른 글
[DirectX12]#Part2 - Direct3D의 기초_DXGI (0) | 2021.12.28 |
---|---|
[DirectX12]#Part2 - Direct3D의 기초_엘리어싱과 다중표본화 (0) | 2021.12.27 |
[DirectX12]#Part2 - Direct3D의 기초_자원과 서술자 (0) | 2021.12.27 |
[DirectX12]#Part2 - Direct3D의 기초_교환 사슬 & 깊이 버퍼링 (0) | 2021.12.24 |
[DirectX12]#Part2 - Direct3D의 기초_COM (0) | 2021.12.23 |