如何解决您如何获得HLSL计算的输出?
| 我基本上想使用.NET将GPU结果捕获到位图文件中。我可能会使用XNA,而我的工作流程将是这样的: 使用自定义输入数据调用效果 使效果运行每个像素的过程 从效果中获取结果(???) 将结果另存为位图 谢谢... 编辑 Liortal的答案摘要: 要使用渲染目标,请创建一个 具有宽度的RenderTarget2D对象, 高度,以及您喜欢的其他选项。 然后打电话 要制作的GraphicsDevice.SetRenderTarget 您的渲染目标为当前渲染 目标。从现在开始,任何平局 您拨打的电话会吸引您的 渲染目标。完成后 使用渲染目标,调用 GraphicsDevice.SetRenderTarget到 新的渲染目标(或对于null 后台缓冲区)。然后,您可以随时 调用RenderTarget2D.GetTexture获得 的渲染目标的内容 进一步处理。解决方法
在此处阅读有关渲染目标及其使用方法的更多信息:http://msdn.microsoft.com/zh-cn/library/bb976073.aspx
请注意,该链接指向的是XNA 3.1,这是令人敬畏的Shawn Hargreaves在XNA 4中对该区域所做的更改的相关文章:http://blogs.msdn.com/b/shawnhar/archive/2010/03/ 26 / rendertarget-changes-xna-game-studio-4-0.aspx
,
RenderTarget
\是您在这里追求的。设置RenderTarget
(graphicsDevice.SetRenderTarget(myRenderTarget);
),绘制场景,然后使用SaveAsJpeg
或SaveAsPng
方法保存输出。
这是XNA 4版本的RenderTarget文档。
但是,人们提到内存泄漏,因此我将使用以下替代方法:
BmpWriter
该链接包含您需要的源代码(如上所述)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。