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보다 커야 한다.