检索要通过网络发送的ID3D11Texture2D数据

西尔基

我正在修改Microsoft提供的桌面复制api示例以捕获屏幕并将更新通过网络发送到我的应用程序。我知道如何实际发送数据;我的问题是从ID3D11Texture2D对象获取数据。

ID3D11Texture2D* m_AcquiredDesktopImage;
IDXGIResource* desktopResource = nullptr;
DXGI_OUTDUPL_FRAME_INFO FrameInfo;

// Get new frame
HRESULT hr = m_DeskDupl->AcquireNextFrame(500, &FrameInfo, &desktopResource);

// QI for IDXGIResource
hr = desktopResource->QueryInterface(__uuidof(ID3D11Texture2D), reinterpret_cast<void **>(&m_AcquiredDesktopImage));

此时,我认为屏幕更新已在m_AcquiredDesktopImage我需要通过有线传输此数据(尽可能高效)。

这个答案似乎是在正确的轨道上,但是我是Windows编程的新手,因此我需要一些其他帮助。

这是我可以想象的唯一解决方案 IDXGIObject::GetPrivateData

galop1n

私有数据根本不是您要找的东西。它们仅在此处将自定义值附加到d3d对象。

找到ID3D11Texture2D对象后,您需要从中读取图像,然后需要在暂存内存池中从中创建第二个对象ID3D11Device(获取原始描述,更改池并删除绑定)。

然后,您需要使用ID3D11DeviceContext来将纹理复制到您的暂存纹理CopyResource然后,您可以使用上下文MapUnmapapi读取图像。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检索要通过网络发送的ID3D11Texture2D数据

来自分类Dev

下铸ID3D11Texture2D

来自分类Dev

来自ID3D11Texture2D的HBitmap

来自分类Dev

更改ID3D11Texture2D像素格式

来自分类Dev

D3D11屏幕桌面复制到ID3D11Texture2D

来自分类Dev

从ID3D11Texture2D到ID2D1Bitmap,可以吗?

来自分类Dev

无法使用Codeigniter检索要通过电子邮件发送的数据

来自分类Dev

从Texture2D到Texture3D

来自分类Dev

检索通过ajax发送的数据

来自分类Dev

DirectX11如何从未签名的char *数据创建Texture2D

来自分类Dev

在DirectX 11 Compute Shader中加载Texture2D数据

来自分类Dev

使用libav *将原始帧(D3D11Texture2D)编码为rtsp流

来自分类Dev

使用Pubnub发送网络数据时,Box2d短暂冻结

来自分类Dev

DirectX11中Texture2D和Texture2DMS之间的区别

来自分类Dev

通过代码使Unity中的Texture2D可读

来自分类Dev

Direct3D 11 / HLSL Texture3D <float3>错误错误?

来自分类Dev

Direct3D 11 / HLSL Texture3D <float3>错误错误?

来自分类Dev

通过 tcp 网络发送数据包

来自分类Dev

检索要从Flask发送的GridFS中的文件?

来自分类Dev

检索要在MMS中发送的可绘制资源

来自分类Dev

ID3D11ShaderResourceView的尺寸。

来自分类Dev

通过索引检索2D数组元素的Python方法

来自分类Dev

检索要在查询中使用的 ID,Django

来自分类Dev

神经网络的2D / 3D阴影

来自分类Dev

了解ID3D11Device和ID3D11DeviceContext

来自分类Dev

AngularJS通过邮寄发送数据时检索数据问题

来自分类Dev

从数据库中检索数据并通过邮件发送

来自分类Dev

如何使用angularfire通过ID检索数据

来自分类Dev

如何使用angularfire通过ID检索数据