使用FireMonkey自定义OpenGL渲染



我们有一个使用VCL TFrame作为OpenGL渲染表面的平台。

使用FireMonkey,是否有任何方法来实现同样的事情?我发现了几个完整的FMX.Forms的例子。TForm被劫持来渲染OpenGL,但这不是我真正想要的。

这真的是"对不起,无能为力"吗?我尝试过创建一个虚拟的TForm,并使用它的DC来创建一个OpenGL渲染上下文,然后blit到fmf . types . timage或类似的东西,但我失败了尝试这种方法也是。

有人这样做过吗?或者FireMonkey只适用于非cad应用程序?

由于FireMonkey目前存在,没有直接与FireMonkey OpenGL上下文对话的简单方法(假设您正在使用hack来强制Windows上的OpenGL模式,因为Direct2D/3D默认使用,没有官方选项切换到OGL)。

你可以做的,然而,是创建自己的OpenGL上下文直接与OpenGL API对话(或通过使用跨平台中间件层,如GLEW或GLUT)。绝对没有什么可以阻止FireMonkey应用程序创建自己的OpenGL上下文,甚至"养育"OGL渲染窗口到FireMonkey 2D表单内部(在3D表单上做同样的事情将是一个挑战,尽管)。

祝你好运,无论你选择走哪条路!

最新更新