我基本上希望使用.NET将GPU结果捕获到位图文件中。我可能会使用XNA,我的工作流程将类似于:
...谢谢
来自Liortal答案的摘要:
要使用渲染目标,请创建一个 RenderTarget2D对象的宽度, 高度,以及您喜欢的其他选项。 然后打电话 GraphicsDevice.SetRenderTarget来制作 您的渲染目标是当前渲染 目标。从这一点开始,任何Draw 你做的电话会吸引你的电话 渲染目标。当你完成 使用渲染目标,调用 GraphicsDevice.SetRenderTarget到 新的渲染目标(或者为null 后缓冲区)。然后随时都可以 调用RenderTarget2D.GetTexture来获取 渲染目标的内容 进一步处理。
答案 0 :(得分:3)
详细了解渲染目标以及如何在此处使用它们:http://msdn.microsoft.com/en-us/library/bb976073.aspx
请注意,该链接指向XNA 3.1,这是一篇很棒的Shawn Hargreaves关于XNA 4中此区域所做更改的帖子:http://blogs.msdn.com/b/shawnhar/archive/2010/03/26/rendertarget-changes-in-xna-game-studio-4-0.aspx
答案 1 :(得分:2)
RenderTarget
就是你在这里的样子。设置RenderTarget
(graphicsDevice.SetRenderTarget(myRenderTarget);
),绘制场景,然后使用SaveAsJpeg
或SaveAsPng
方法保存输出。
以下是RenderTarget文档的XNA 4版本。
但是,人们已经提到了内存泄漏,所以我会使用这个替代方案:
此链接包含您需要的源代码(如上所述)。