Delphi 使用FireMonkey自定义OpenGL渲染

Delphi 使用FireMonkey自定义OpenGL渲染,delphi,opengl,delphi-xe2,firemonkey,Delphi,Opengl,Delphi Xe2,Firemonkey,我们有一个使用VCL TFrame作为OpenGL渲染面的平台 使用FireMonkey,有没有办法实现同样的目标?我发现了几个完整的FMX.Forms.TForm被劫持来呈现OpenGL的例子,但这并不是我真正想要的 这真的是“对不起,不行”吗?我曾尝试创建一个虚拟TForm,并使用它的DC来粘贴OpenGL渲染上下文,然后将其切换到FMX.Types.TImage或类似的东西,但我尝试这种方法也失败了 有人这样做过吗?或者FireMonkey仅适用于非CAD应用程序?由于FireMonkey

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

使用FireMonkey,有没有办法实现同样的目标?我发现了几个完整的FMX.Forms.TForm被劫持来呈现OpenGL的例子,但这并不是我真正想要的

这真的是“对不起,不行”吗?我曾尝试创建一个虚拟TForm,并使用它的DC来粘贴OpenGL渲染上下文,然后将其切换到FMX.Types.TImage或类似的东西,但我尝试这种方法也失败了


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

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

但是,您可以通过直接与OpenGL API对话(或使用跨平台中间件层,如GLEW或GLUT)来创建自己的OpenGL上下文。没有任何东西可以阻止FireMonkey应用程序创建自己的OpenGL上下文,甚至可以将OGL渲染窗口“父化”到FireMonkey 2D表单的内部(不过,在3D表单上执行同样的操作将是一个巨大的挑战)

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

这是我试图实现的“在3D Firemonkey表单上”的目标。我又试了一些,但一无所获。让FireMonkey在Windows下使用OpenGL的黑客行为让我难以捉摸;我也找不到。实验结束。请参阅相关内容: