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

前端之家收集整理的这篇文章主要介绍了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”)

猜你在找的C#相关文章