gpt4 book ai didi

delphi - 如何在Firemonkey App中设置OpenGL1.4环境?

转载 作者:行者123 更新时间:2023-12-03 14:54:09 26 4
gpt4 key购买 nike

在过去,我会创建一个 TForm,在其上放置一个 TMyPanel(使用覆盖的 WM_PAINT 消息)并将其句柄传递给一堆 WGL 函数,这些函数查找兼容的像素格式并创建渲染上下文。就像 NeHe 教程所做的那样。

现在 FireMonkey 应用程序出现了。如何获取适用于 Win 和 iOS 的 OpenGL 1.4 渲染上下文?

编辑:一直试图通过传递 TForm.Handle (即 NativeUInt)来使其工作。好消息 - OpenGL 端没有错误,但坏消息 - TForm 上也没有输出。我显然在这里遗漏了一些关键部分,有人在 FireMonkey 应用程序中拥有可用的 OpenGL 吗?

最佳答案

Firemonkey 提供了一个抽象层。

因此,在 Windows 上您使用 DirectX,在 OSX 和 iOS 上您使用 OpenGL/Quartz。在 Windows 上,也可以回退到 GDI+

考虑到这一点,必须考虑到渲染目标可能并不总是 OpenGL,而且即使在同一平台上,它也可能并不总是相同。

TCanvas 在此抽象层的一部分。

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

  • FMX.Canvas.D2D.pas - Direct2d
  • FMX.Canvas.GDIP.pas - GDI+
  • FMX.Canvas.Mac.pas - Mac

平台实现细节通常隐藏在私有(private)部分中,无法访问。

您还在 FMX.Platform.pas 中拥有 TPlatform,它隐藏了实现细节并发布了一个旨在在所有平台上工作的 API(范围有限) .

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

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

但是在 IOS 上,FMX_Platform_iOS.pas 中没有等效函数

关于delphi - 如何在Firemonkey App中设置OpenGL1.4环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7744540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com