특징

  • 텍스처는 다차원 배열이다. ( ex. 1~3차원 배열 )
  • 배열 원소는 다양한 형태를 가지고 있다. ( ex. 픽셀에 대한 색상값, 3차원 벡터 등 )
  • 텍스처는 단순히 자료구조의 성격뿐 아니라, 어떠한 특별한 연산도 적용할 수 있다.
    ( ex. GPU의 멀티 샘플링, 필터링 등 )
  • 텍스처의 원소는 정해진 특정 format만 사용할 수 있다.  ( ex. DXGI_FORMAT )

 

 

DXGI FORMAT

DXGI FORMAT은 텍스처 배열에 적용할 수 있는 원소들의 형태를 지정하는 열거형이다.

 

  • DXGI_FORMAT_R32G32B32_FLOAT  ( 32bit, float  )     
  • DXGI_FORMAT_R16G16B16A16_UNORM ( 16bit, float [0,1] 범위   )
  • DXGI_FORMAT_R16G16B16A16_TYPELESS ( 16bit, 타입 없음  )
  • DXGI_FORMAT_D32_FLOAT_S8X24_UINT ( 32bit, texel float 깊이 값 [0, 255] 범위, 부호없는 8bit 정수 스텐실 값, padding(채움)용도로만 사용되는 24bit로 구성 ) 
  • DXGI_FORMAT_D32_FLOAT ( 24bit 부호없는 값, [0, 1] 범위 )
  • DXGI_FORMAT_D16_UNORM ( 16bit 텍셀, [0, 1]범위 부호없는 깊이값 )
  • DXGI_FORMAT_D24_UNORM_S8_UINT ( 24bit 텍셀 깊이 버퍼, 8bit 스텐실 버퍼 )

 

TYPELESS는 원소의 형태를 열거형으로 특정하지 않고, 메모리만 확보해둔다.

필요할 때 직접 형변환을 해서 사용한다.

 

 

깊이 버퍼

깊이 값이 작은 순서대로 앞에 배치된 물체

 

  • 깊이 버퍼는 이미지 정보가 없는 텍스처 값이다.
  • [0, 1] 사이의 정규화된 값으로 표현이 된다.
  • 해상도 픽셀과 1:1로 대응된다.
  • 프로그램은 렌더링되기전에 후면 버퍼를 기본 색상(검은색, 흰색)등으로 지우는 과정을 거친다.
    깊이 버퍼도 마찬가지로 최대 깊이인 1.0을 기본값으로 사용해 지워진다.

 

 

참고 사이트

https://learn.microsoft.com/ko-kr/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format

 

DXGI_FORMAT(dxgiformat.h) - Win32 apps

완전히 형식화된 형식 및 무형식 형식을 포함한 리소스 데이터 형식입니다. 페이지 맨 아래에 있는 한정자 목록은 각 형식 형식에 대해 자세히 설명합니다.

learn.microsoft.com