공부중
[DirectX12]기본지식 - 텍스처 형식 본문
흔히 텍스처 하면 그림(이미지)를 떠올린다.
알고있는 지식으로는 2차원의 이미지 자료를 저장한다 각 원소는 픽셀 하나의 색상정보를 담는다.
이정도?
하지만 텍스처는 이런 이미지 그림 정보만을 저장하는것만이 아닌 다른 정보들을 저장할수 있다.
->대표적으로 3차원 Vector를 담는 normal mapping 이라던가... 그외 여러가지...
1차원 텍스쳐는 1차원 배열, 3차원은 3차원 배열 이렇게 생각하면 될듯?
사실 배열인것만은 아니고 순수 그림(이미지) 정보만 담는 그런것 또한 아니다
텍스처에는 특정 형식(format)이 자료 원소들만 담기 가능하고 구체적인 형식은
DXGI_FORMAT enumeration - MSDN이라는 열거형으로 지정한다.
MSDN 들어가보면 정말 종류 엄청 많다
꼭 그런건 아니지만 어느정도 살펴보면 R(Red), G(Green), B(Blue), A(Alpha - 일반적으로 투명도)이고 뒤에 숫자들은 bit단위의 크기이다.
맨 뒤쪽에 나오는 FLOAT, UINT, SINT, UNORM 등등은 형식(표현 숫자 범위)라고 생각하면 될듯하다.
DXGI_FORMAT_R8G8B8A8_UNORM : 각 원소는 0,1의 구간으로 부호없는 8bit 성분 네 개(빨강 초록 파랑 투명)로 이뤄짐
DXGI_FORMAT_R32G32_UINT : 각 원소는 부호없는 32bit 정수 성분 두 개(빨강 초록)로 이뤄짐
위의 예 말고도 더 보고 싶으면 위의 MSDN 링크로 들어가서 보자
typeless(형식이 없음) 텍스쳐도 있는데 일단 메모리만 확보해두고 나중에 텍스처를 파이프라인에 묶을때 지정하는 용도로 쓰임
reinterpret_cast - MSDN 과 비슷하다고 한다.. (나중에 써보면 알겠지...? )