加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – DirectX11 ReportLiveObjects实例化

发布时间:2020-12-16 09:43:54 所属栏目:百科 来源:网络整理
导读:MSDN Page for ReportLiveObjects 我不确定如何调用ReportLiveObjects方法,因为我试图声明的类是抽象的,或者在IDXGIDebug“unclared”的情况下(我想我错过了一个头文件?). 这是片段. ID3D11Debug *debugDev = new ID3D11Debug(); debugDev-ReportLiveDevice
MSDN Page for ReportLiveObjects

我不确定如何调用ReportLiveObjects方法,因为我试图声明的类是抽象的,或者在IDXGIDebug“unclared”的情况下(我想我错过了一个头文件?).

这是片段.

ID3D11Debug *debugDev = new ID3D11Debug();
    debugDev->ReportLiveDeviceObjects( D3D11_RLDO_DETAIL );

上面的代码告诉我类是抽象的,所以我不能创建一个对象.

IDXGIDebug debugDev = new IDXGIDebug();

上面的代码告诉我IDXGIDebug是未声明的.

头文件“DXGI”已包含在内.调试层已打开.

任何帮助,将不胜感激.

解决方法

当然你不能直接创建ID3D11Debug接口.

第一步是使用D3D11_CREATE_DEVICE_DEBUG标志创建ID3D11Device,如下所示:

creationFlags = 0;

#ifdef _DEBUG
        creationFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif

D3D11CreateDevice(...);

然后你必须从你的设备查询ID3D11Debug接口,如下所示:

m_d3dDevice->QueryInterface(__uuidof(ID3D11Debug),reinterpret_cast<void**>(&m_d3dDebug));

关于D3D调试层的两个有用链接:

http://msdn.microsoft.com/en-US/library/windows/desktop/jj200584(v=vs.85).aspx
http://blogs.msdn.com/b/chuckw/archive/2012/11/30/direct3d-sdk-debug-layer-tricks.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读