c# – DirectX / SharpDX中的“glReadPixels”之类的函数

我正在寻找一种在鼠标点读取像素颜色的方法.在OpenGL中,它是在绘制场景(或部分场景)后调用函数glreadPixels”完成的.我想在后台制作一个简单的颜色拾取程序,用于识别3D空间中的形状/线条.

那么,在SharpDX(DirectX10 / DirectX11)中是否有相同的方法/功能/建议?

解决方法

使用Direct3D11完全可以:只需按照以下步骤操作:

>使用DeviceContext.CopySubResourceRegion将部件从源纹理复制到分段纹理(要回读的像素区域的大小,格式相同,但使用ResourceUsage.Staging)
>使用Device.Map/UnMap从此分段纹理中检索像素.

关于网络的这个主题有很多讨论(例如:“Reading one pixel from texture to CPU in DX11”)

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...