加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何在Firemonkey应用程序中设置OpenGL1.4环境?

发布时间:2020-12-15 04:20:32 所属栏目:大数据 来源:网络整理
导读:在过去的日子里,我会创建一个TForm,在其上放置一个TMyPanel(覆盖WM_PAINT消息)并将其Handle传递给一堆WGL函数,这些函数找到兼容的pixelformat并创建渲染上下文.就像NeHe教程一样. 现在有FireMonkey应用程序.如何在Win和iOS上运行OpenGL 1.4渲染上下文? 编辑
在过去的日子里,我会创建一个TForm,在其上放置一个TMyPanel(覆盖WM_PAINT消息)并将其Handle传递给一堆WGL函数,这些函数找到兼容的pixelformat并创建渲染上下文.就像NeHe教程一样.

现在有FireMonkey应用程序.如何在Win和iOS上运行OpenGL 1.4渲染上下文?

编辑:试图通过传递TForm.Handle(这是NativeUInt)使其工作.好消息 – OpenGL没有错误,但坏消息 – 在TForm上也没有输出..我显然在这里缺少一些关键部分,是否有人在Fi??reMonkey应用程序中有一个可用的OpenGL?

解决方法

Firemonkey提供了一个抽象层.

所以在Windows上使用DirectX,在OSX和iOS上使用OpenGL / Quartz.
在Windows上,事情也有可能回归到GDI

鉴于此,必须考虑到渲染目标可能并不总是OpenGL,并且即使在同一平台上也可能并不总是相同.

TCanvas是这个抽象层的一部分.

TCanvas目前有3个实现,您的应用程序可能正在使用其中任何一个.

> FMX.Canvas.D2D.pas – Direct2d
> FMX.Canvas.GDIP.pas – GDI
> FMX.Canvas.Mac.pas – Mac

平台实现细节通常隐藏在无法访问的私有部分中.

您还可以在FMX.Platform.pas中使用TPlatform,它隐藏了实现细节并发布了一个专门用于所有平台的API(范围有限).

如果您使用FMX.Platform.Win.pas,您可以获取给定TFmxHandle的Windows句柄

如果您使用FMX.Platform.Mac.pas,您可以获得给定TFmxHandle的IObjectiveC

但是在IOS上,FMX_Platform_iOS.pas中没有等效功能

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读