c# – DirectXSharpDX中的“glReadPixels”之类的函数

c# – DirectXSharpDX中的“glReadPixels”之类的函数,第1张

概述我正在寻找一种在鼠标点读取像素颜色的方法.在OpenGL中,它是在绘制场景(或部分场景)后调用函数“glReadPixels”完成的.我想在后台制作一个简单的颜色拾取程序,用于识别3D空间中的形状/线条. 那么,在SharpDX(DirectX10 / DirectX11)中是否有相同的方法/功能/建议? 使用Direct3D11完全可以:只需按照以下步骤 *** 作: >使用DeviceContext. 我正在寻找一种在鼠标点读取像素颜色的方法.在OpenGL中,它是在绘制场景(或部分场景)后调用函数“glreadPixels”完成的.我想在后台制作一个简单的颜色拾取程序,用于识别3D空间中的形状/线条.

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

解决方法 使用Direct3D11完全可以:只需按照以下步骤 *** 作:

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

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

总结

以上是内存溢出为你收集整理的c# – DirectX / SharpDX中的“glReadPixels”之类的函数全部内容,希望文章能够帮你解决c# – DirectX / SharpDX中的“glReadPixels”之类的函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1263177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存