使用FireMonkey自定义OpenGL渲染

时间:2011-10-28 09:28:39

标签: delphi opengl delphi-xe2 firemonkey

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

使用FireMonkey,有没有办法实现同样的目标?我发现了一些整个 FMX.Forms.TForm 被劫持以渲染OpenGL的例子,但这并不是我想要的。

这真的是“抱歉,不能做”?我已经尝试创建一个虚拟的TForm并使用它的DC来调用OpenGL渲染上下文然后blit到一个FMX.Types.TImage或类似的但是我也没有尝试过这种方法。

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

1 个答案:

答案 0 :(得分:2)

由于目前存在FireMonkey,因此没有直接与FireMonkey OpenGL上下文交谈的方式(假设您正在使用黑客在Windows上强制使用OpenGL模式,因为默认使用Direct2D / 3D而没有官方选项切换到OGL)。

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

祝你选择哪条路线好运!