DXGI_MODE_SCANLINE_ORDER
1
2
3
4
5
6
|
typedef enum DXGI_MODE_SCANLINE_ORDER {
DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0,
DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1,
DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2,
DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3
} DXGI_MODE_SCANLINE_ORDER;
|
cs |
-
DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED
Scanline order is unspecified. -
DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE
The image is created from the first scanline to the last without skipping any. -
DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST
The image is created beginning with the upper field. -
DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST
The image is created beginning with the lower field.
디스플레이에 화면을 그릴 때, 스캔라인 순서를 지정한다.
스캔라인 순서로 화면을 그릴 때 프로그레시브(Progressive)로 그리는가, 인터레이스(Interlace)로 그리는가를 설정할 수 있다.
DXGI_MODE_SCANLINE_ORDER_PROGRESSSIVE를 선택하면 프로그레시브(Progressive)로 그리게 된다.
DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST를 선택하면 인터레이스(Interlace)로 그리면서 홀수번째 줄에서,
DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST를 선택하면 짝수번째 줄에서부터 시작한다.
DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED를 선택하면 아무런 스캔라인 순서를 설정하지 않게 되는데, 이게 결과적으로 디스플레이에 맞춰서 자동적으로 선택을 하는건지 어떻게 되는건지 전혀 모르겠다. 정보가 안보인다.
프로그레시브(Progressive)와 인터레이스(Interlace)에 관한 내용은 아래의 링크를 참조.
https://m.cafe.daum.net/korea-man/7v20/84?
https://hruj.tistory.com/entry/m3
DXGI_MODE_SCALING
1
2
3
4
5
|
typedef enum DXGI_MODE_SCALING {
DXGI_MODE_SCALING_UNSPECIFIED = 0,
DXGI_MODE_SCALING_CENTERED = 1,
DXGI_MODE_SCALING_STRETCHED = 2
} DXGI_MODE_SCALING;
|
cs |
-
DXGI_MODE_SCALING_UNSPECIFIED
Unspecified scaling. -
DXGI_MODE_SCALING_CENTERED
Specifies no scaling. The image is centered on the display. This flag is typically used for a fixed-dot-pitch display (such as an LED display). -
DXGI_MODE_SCALING_STRETCHED
Specifies stretched scaling.
디스플레이의 비례에 따른 처리를 지정한다.
화면을 늘리거나 줄이거나, 전체화면을 하는 등 후면버퍼와의 비례차가 생길 때 어떻게 하는가에 대한 옵션이다.
DXGI_MODE_SCALING_UNSPECIFIED를 선택하면 아무런 설정도 하지 않는다.
DXGI_MODE_SCALING_CENTERED를 선택하면 스케일링을 하지 않고, 이미지가 디스플레이의 정 중앙에 위치하게 된다. 그리고 비례에 맞춰서 화면의 좌우/상단을 잘라내서 검은색 패딩으로 채운다.
DXGI_MODE_SCALING_STRETCHED를 선택하면 확장 스케일링을 지정한다.
DXGI_MODE_SCALING_CENTERED를 선택한 경우는 다른 두개의 옵션과는 명확하게 다른 결과가 나왔다. 하지만, UNSPECIFIED와 STRETCHED의 차이는 아직 잘 모르겠다. 추후 이미지를 띄워보고 살펴봐야 할 것 같다.
추가로, Alt+Enter 를 눌러서 전체화면을 할 경우 UNSPECIFIED는 바로 화면이 뜨는 반면 CENTERED/STRETCHED는 화면이 뜨기까지의 잠시 텀이 있는 등 스케일링 옵션을 처리하기 위해서인지 반응이 조금 느리다.
'프로그래밍 > DirectX' 카테고리의 다른 글
DirectX와 HLSL간의 행렬순서와 연산 (0) | 2020.03.06 |
---|---|
SwapChain의 DXGI_FORMAT 종류 (3) | 2020.03.03 |
게임을 위한 Windows와 DirectX SDK 블로그 (0) | 2019.07.21 |