본문 바로가기
IT 기술/Direct3D

Direct3D 기본 형식 및 그래픽 개념 part5_13일차

by 썬's 2023. 1. 25.

안녕하세요 보글리아입니다.

이번 시간에는 저번 시간에 배운 앨리어싱에 이어 Direct3D에 기능 수준에 대해 배워보도록 하겠습니다.

※제 수업은 이전주차에서 배운 개념을 재차 설명하지 않습니다※


Direct3D 기능 수준

Direct3D의 기능 수준은 Direct3D 11 버전에 도입한 개념입니다. 먼저 기능 수준이란 잘 정의된 GPU 기능의 집합이라고 보시면 됩니다. 기능 수준은 응용 프로그램 개발을 쉽게 만들어 주는 개념으로 일단 알고 계시면 됩니다.

 

D3D_FEATURE_LEVEL이라는 열거형으로 이루어진 기능 수준을 제공합니다.

그렇다고 꼭 11버전에서만 기능 수준이 대응하는 게 아닌 9 버전에서 11 버전까지의 여러 Direct3D 버전과 대응합니다.

 

하단 이미지를 보시면 D3D_FEATURE_LEVEL이 열거형으로 정의되어 있습니다.

이 안에는 9_1부터 11_0까지 있는 데 이는 9버전부터 11 버전까지 기능 수준이 지원된다는 얘기입니다.

뒤에 0x 부분은 굳이 아실 필요는 없습니다. 일단은 기능 수준이 9버전부터 11 버전까지 지원된다는 것만 아시면 됩니다.

Direct3D 기능 수준
기능 수준

여기서 중요한 점이 있습니다. 만약 사용자 즉, 여러분들의 컴퓨터 하드웨어가 특정 기능 수준을 지원하지 않는 하드웨어이면, 그보다 더 낮거나 오래된 기능 수준을 사용해 응용 프로그램을 실행해야 합니다. 

예를 들어 하드웨어가 9번전을 지원하지 않으면 8 버전의 기능 수준을 사용해 프로그램을 돌려야 합니다.

그렇기에 기능 수준여부를 가장 높은 수준부터 차례대로 점검해야 합니다.

11_0 기능 수준을 지원하지 않는다면, 한 단계 아래인 10_1 수준을, 10_1 수준도 지원하지 않는다면 바로 아래 10_0 수준을 점검하는 식으로 점차 8, 7 버전까지 지원하는 선까지 점검해서 그 사이즈에 맞춰 기능 수준을 사용해야 합니다.

 

Direct3D에서 배열을 이용해 기능 수준 점검을 원할하게 할 수 있습니다.

하단 이미지를 보시면 예를 들어 기능 수준을 가장 최신 수준인 11_0부터 순차적으로 지원 여부를 점검할 때, 만약 나는 최상위 수준인 11_0부터 5단계 아래까지 점검하고 싶다 하시면 배열의 크기를 5로 설정하시고 기능 수준을 5단계인 9_2로 설정하시면 됩니다.

기능 수준 점검

 


오늘은 Direct3D의 기능 수준에 대해 알아봤습니다.

드디어!! Direct3D 초기화 작업 전의 알아두셔야 할 기본 개념과 그래픽 형식에 대해 설명을 마무리하고

다음 시간에는 Direct3D 초기화를 배워보도록 하겠습니다.

이 초기화 작업도 꽤 알아두셔야 할 부분이 많아 part별로 진행해 나가겠습니다.

긴 글 읽으시느라 고생 많으셨습니다~~

댓글