我想使用UrhoSharp构建一个命令行工具,它可以绘制一些内容并将输出保存到PNG文件中。
我已经想出如何在窗口中绘制我想要的内容,并且我可以使用Graphics.TakeScreenshot
保存它(在等待几次更新之后)。但我更喜欢它在没有显示窗口的情况下运行,因此我可以在构建管道中使用该工具,而不会一直弹出窗口。
我还想通过将AdditionalFlags = "-headless"
添加到我的ApplicationOptions
,我可以在无头模式下启动Urho引擎。但我无法弄清楚如何触发3D引擎在这种情况下运行,或输出的位置。看起来在这种模式下可能根本不会初始化图形子系统。
有没有办法让UrhoSharp渲染到指定大小的屏幕外缓冲区?或者,如果我只是隐藏窗口可能没问题;有可行的方法吗?
答案 0 :(得分:1)
经过UrhoSharp和Urho3D源码的挖掘后,看起来这是不可能的:
我可以在初始化Urho之前创建自己的窗口并传入OS窗口句柄;但是:
我认为在不修改Urho和/或SDL的情况下可以做的最好的事情就是尽快隐藏窗口。我不确定我是否可以避免让窗口短暂闪屏。如果我能搞清楚,我会在这里进一步评论!