[DirectX12] #Part 2 - Direct 3D 기초
"DirectX12를 이용한 3D 게임 프로그래밍 입문" 서적의 Part 2, "Direct3D의 기초"에 해당하는 내용입니다.
현재, 게임 개발에 입문하여 기초지식을 습득하여 기록하기 위함이며, 개념 이해와 예제코드 작성을 진행.
ID3D12Device::CheckFeatureSupport 메서드
HRESULT ID3D12Device::CheckFeatureSupport (
D3D12_FEATURE Feature;
void *pFeatureSupportData;
UINT FeatureSupportDataSize
);
1. Feature: CheckFeatureSupport를 통해 지원 여부를 점검할 기능들의 종류
(a) D3D12_FEATURE_D3D12_OPTIONS: Direct3D의 여러 기능들,
(b) D3D12_FEATURE_FEATURE_LEVELS: 기능 수준들,
(c) D3D12_FEATURE_ARCHITECTURE: 하드웨어 아키텍처 기능들,
(d) D3D12_FEATURE_FORMAT_SUPPORT: 주어진 텍스처 형식에 대한 기능들
(d) D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS: 다중표본화 기능
2. pFeatureSupportData: 기능 지원 정보가 설정될 구조체를 가리키는 포인터,
매개변수 "Feature"로 받은 값, 즉 위 목록에서 보이는
지정한 값에 따라 달라집니다.
기능 지원 점검 예제
typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS {
UINT NumFeatureLevels;
const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
D3D_FEATURE_LEVEL *MaxSupportedFeatureLevel;
} D3D_FEATURE_DATE_FEAUTRE_LEVELS;
**************예제 코드**************
D3D_FEATURE_LEVEL featureLevels[3] = {
D3D_FEATURE_LEVEL_11_0, // 11기능 지원 점검
D3D_FEATURE_LEVEL_10_0, // 10, 그리고 9까지 기능 지원을 점검까지
D3D_FEATURE_LEVEL_9_0, // 3가지 FEATURE_LEVEL들을 점검합니다.
};
D3D12_FEATURE_DATA_FEATURE_LEVELS featureLevelsInfo;
featureLevelsInfo.NumFeatureLevels = 3;
featureLevelsInfo.pFeatureLevelsRequested = featureLevels // 포인터 정의
md3Device->CheckFeatureSupport(
D3D12_FEATURE_FEATURE_LEVELS,
&featureLevelsInfo,
sizeof(featureLevelInfo));
)
"NumFeatureLevels"는 기능 지원을 점검할 항목들의 개수를 정하고, "*pFeatureLevelsRequested" 포인터는 기능 지원을 점검할 항목들을 담고 있는 D3D_FEATURE_LEVEL 형식의 배열을 가리킵니다. 마지막으로, CheckFeatureSupport 메서는 MaxSupportFeatureLevel 필드를 통해 지원되는 최대 기능 수준을 출력합니다.
ID3D12Device::CheckFeatureSupport 메서드를 통해 다양한 기능들의 지원 여부를 확인 할 수 있습니다.
'게임개발 > DirectX12' 카테고리의 다른 글
[DirectX12]#Part2 - Direct3D의 기초_GPU와 CPU의 상호작용 (0) | 2021.12.28 |
---|---|
[DirectX12]#Part2 - Direct3D의 기초_상주성(Residency) (0) | 2021.12.28 |
[DirectX12]#Part2 - Direct3D의 기초_DXGI (0) | 2021.12.28 |
[DirectX12]#Part2 - Direct3D의 기초_엘리어싱과 다중표본화 (0) | 2021.12.27 |
[DirectX12]#Part2 - Direct3D의 기초_자원과 서술자 (0) | 2021.12.27 |