首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在无头模式下从UrhoSharp保存图像

在无头模式下从UrhoSharp保存图像
EN

Stack Overflow用户
提问于 2017-02-14 07:25:09
回答 1查看 257关注 0票数 1

我想使用UrhoSharp构建一个命令行工具,它可以绘制一些内容并将输出保存到PNG文件中。

我已经知道了如何在窗口中绘制我想要的东西,并且我可以用Graphics.TakeScreenshot保存它(在等待几次更新之后)。但我更希望它在运行时根本不显示窗口,这样我就可以在我的构建流程中使用该工具,而不会一直弹出窗口。

我还发现,通过在我的ApplicationOptions中添加AdditionalFlags = "-headless",我可以在无头模式下启动Urho引擎。但我不知道如何触发3D引擎在这种情况下运行,或者输出到哪里。在这种模式下,图形子系统可能根本不会被初始化。

有没有办法让UrhoSharp渲染到指定大小的屏幕外缓冲区?或者,如果我只是将窗口隐藏起来,可能也没问题;有没有一种可移植的方法来做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2017-02-15 04:38:28

在深入研究了UrhoSharp和Urho3D源代码之后,看起来这是不可能的:

  • 在无头模式下,不会创建图形处理器上下文(" headless“表示没有GPU,而不仅仅是没有窗口)
  • 在正常模式下,始终会创建一个SDL窗口。SDL没有可移植的机制来创建无窗口的GPU context

我可以在初始化Urho之前创建自己的窗口,并传入操作系统窗口句柄;但是:

  • 需要一些特定于操作系统的代码
  • 它必须是一个SDL_Window,而不是任何类型的屏幕外缓冲区

我认为在不修改Urho和/或SDL的情况下,最好的办法就是尽快隐藏窗口。我不确定是否可以避免在屏幕上短暂地闪烁窗口。如果我能弄清楚,我会在这里进一步评论!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42215319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档