gpt4 book ai didi

c# - DirectX/SharpDX 中类似 "glReadPixels"的函数

转载 作者:太空狗 更新时间:2023-10-29 21:09:43 26 4
gpt4 key购买 nike

我正在寻找一种方法来读取鼠标点处的像素颜色。在 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"的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13343020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com