gpt4 book ai didi

c - 如何找到 DXUT 的修改设备设置功能中可用的最佳 MSAA 级别

转载 作者:行者123 更新时间:2023-11-30 17:12:38 26 4
gpt4 key购买 nike

我想在 DXUT (d3d11) 函数的 ModifyDeviceSettings 回调中选择一个合适的 MSAA 级别,但没有可用于调用 CheckMultisampleQualityLevels 的设备指针。

此时,DXUT 函数 DXUTGetD3D11Device 在 init 中返回 null。有许多 D3D9 示例可以满足我的要求,但它们依赖于旧的 DXUTGet3DObject(或其他)调用来返回实时设备指针,而您在 D3D11 中无法获得该指针。

如果我只是将“4”填充到 pDeviceSettings->d3d11.sd.SampleDesc.Count 中即可,如果我选择太大的数字,它将恢复为 1,但我想选择最好的可用值最多但不高于 4。

有谁知道如何枚举 DXUT 框架中可用的多重采样级别并选择我认为最好的一个?

最佳答案

首先,请确保您使用的是 GitHub 中的最新 Direct3D11 DXUT .

DXUT 枚举所有 MSAA 信息,作为对 CD3D11EnumDeviceSettingsCombo 成员 multiSampleCountListmultiSampleQualityList 中设置对话框支持的一部分。

也就是说,想要“默认”启用 MSAA 4x 的示例通常只需执行以下操作:

bool CALLBACK ModifyDeviceSettings( DXUTDeviceSettings* pDeviceSettings,
void* pUserContext )
{
static bool s_bFirstTime = true;
if( s_bFirstTime )
{
// Enable 4xMSAA by default
DXGI_SAMPLE_DESC MSAA4xSampleDesc = { 4, 0 };
pDeviceSettings->d3d11.sd.SampleDesc = MSAA4xSampleDesc;
}

return true;
}

关于c - 如何找到 DXUT 的修改设备设置功能中可用的最佳 MSAA 级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31394066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com