微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DirectX 11video播放

我期待在游戏引擎中实现一个video播放器,有效地解码video文件,并在DirectX 11中渲染结果。不幸的是,我对如何做到这一点有些无知,但是我发现了ID3D11VideoDevice类在MSDN上,但不知道如何使用它,我似乎无法find任何有用的示例/示例在线显示如何使用它。

我已经开始尝试查询接口哦我创build的ID3D11Device与下面的代码

ComPtr<ID3D11VideoDevice> video; HRESULT hr = device->QueryInterface(__uuidof(ID3D11VideoDevice),&video);

但是我得到了HRESULT E_NOINTERFACE,所以我猜测我已经创build了原始设备,以至于我无法将其转换为video设备? 无论是这样或者完全是错误的方式去做。 所以我的问题是:

我是如何开始正确的,如果是的话,为什么我会得到这个错误

有谁知道任何有用的文件/在线样本,可以解释如何做到这一点?

以下仅供参考是我如何创build原始ID3D11Device:

FindWindow(…)不是“查找”创build的消息窗口

std :: u32string转换为/从std :: string和std :: u16string

如何在OSX上通过vswprintf格式化宽string(想返回std :: wstring)

为什么使用std :: thread :: hardware_concurrency()和boost :: thread :: hardware_concurrency()有区别?

一个C ++ ifstream两次?

std::vector<D3D_FEATURE_LEVEL> feature_levels = { D3D_FEATURE_LEVEL_11_1,D3D_FEATURE_LEVEL_11_0,D3D_FEATURE_LEVEL_10_1,D3D_FEATURE_LEVEL_10_0,D3D_FEATURE_LEVEL_9_3,D3D_FEATURE_LEVEL_9_2,D3D_FEATURE_LEVEL_9_1 }; UINT flags = 0; #if defined(DEBUG) || defined(_DEBUG) flags |= D3D11_CREATE_DEVICE_DEBUG; #endif // Create D3D device HRESULT hr = D3D11CreateDevice(nullptr,D3D_DRIVER_TYPE_HARDWARE,flags,&feature_levels[0],feature_levels.size(),D3D11_SDK_VERSION,&m_device,&m_featureLevel,&m_deviceContext);

提前致谢。

C ++:检查string是否是使用“strtol”的有效整数

gdb中的命令与dbx中的path映射相同吗?

什么是将C ++ 11asynchronous/期货与WindowsasynchronousIO结合起来的最佳API?

安全的C + + std ::string到TCHAR *转换?

为什么CR LF在Windows中更改为LF?

提到您正在使用Windows 7的评论,这就是您没有Direct3D 11视频支持的原因。

DirectX 11.1运行时可以通过KB2670838安装在Windows 7 Service Pack 1上,但它只提供每个MSDN的软件功能。 任何需要新硬件功能功能都需要新的WDDM v1.2驱动程序,而这些驱动程序仅在Windows 8.0或更高版本上受支持

请参阅DirectX 11.1和Windows 7以及DirectX 11.1和Windows 7更新 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐