Our editor relies on the fact that multiple TCastleControl instances work OK. This is turn requires that Lazarus TOpenGLControl
(ancestor of our TCastleControl
) supports sharing OpenGL resources (CGE caches assume that OpenGL data is shared across contexts). I submitted Lazarus pull requests to fix this:
-
for Qt5 (so you can use it now for CGE editor, as a reliable alternative to Gtk2 on Linux/FreeBSD platforms) – qt5: Allow sharing OpenGL context data between instances of TOpenGLControl (!95) · Merge requests · FPC / Lazarus / Lazarus · GitLab.
-
for Cocoa (for CGE editor on macOS) – Cocoa: Allow sharing OpenGL context data between instances of TOpenGLControl (!96) · Merge requests · FPC / Lazarus / Lazarus · GitLab. This patch is already applied for the Lazarus version used by our Jenkins to build CGE editor for macOS for our main downloads.