비타Cpp

Direct3D의 초기화 - 3. 4X MSAA 품질 수준 지원 점검 본문

DirectX12/튜토리얼

Direct3D의 초기화 - 3. 4X MSAA 품질 수준 지원 점검

멍C 2021. 10. 1. 23:56

Direct3D 11급 장치는 모두 4X MSAA를 지원하긴 하지만, 일단 명시적으로 4X MSAA를 지원하는지에 대한 지원 여부를 점검한다.

 

D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS msQualityLevels;
	msQualityLevels.Format = mBackBufferFormat;
	msQualityLevels.SampleCount = 4;
	msQualityLevels.Flags = D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE;
	msQualityLevels.NumQualityLevels = 0;
	ThrowIfFailed(md3dDevice->CheckFeatureSupport(
		D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS,
		&msQualityLevels,
		sizeof(msQualityLevels)));

    m4xMsaaQuality = msQualityLevels.NumQualityLevels;
	assert(m4xMsaaQuality > 0 && "Unexpected MSAA quality level.");

https://docs.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-checkfeaturesupport

 

ID3D12Device::CheckFeatureSupport (d3d12.h) - Win32 apps

Gets information about the features that are supported by the current graphics driver.

docs.microsoft.com

4X MSAA가 항상 지원되므로, 반환된 품질 수준은 항상 0보다 커야 한다.

Comments