I have just merged a giant pull request to CGE with 250 commits! This is a big work from Andrzej Kilijański and me (Michalis Kamburelis) from the last 3.5 months, and it includes:
Delphi compatibility! See PR 350 for details what works with Delphi — in short, almost everything 🙂 The supported compilers page was already updated. See Michalis presentation on DelphiCon 2021 for a great CGE overview for Delphi devs.
Integration with Vampyre Imaging Library. For Delphi it is even active by default, for FPC it soon will be. I will write about Vampyre Imaging Library more in upcoming news, but basically it is a great, open-source library for reading and writing images. Cross-platform, cross-compiler (both Delphi and FPC work flawlessly), efficient. We will rely on it more and more in CGE.
Upgrades / big rework of numerous examples. To be compatible with Delphi, but also to be designed using editor, use TUIState, be cross-platform, have a nice README… Of particular interest are these new examples:
- examples/images_videos/image_display (includes a speed test, to compare various image-reading libs)
- examples/3d_rendering_processing/multiple_viewports (big rework of older example)
- examples/3d_rendering_processing/listen_on_x3d_events (big rework of older example)
Inspector (announced previously) updates:
- work on mobile (press 3 fingers for 1 second to toggle),
- various fixes (including to show “Swap” time on Windows correctly),
- default shortcut changed to F8 (to not conflict with Windows debugger in Delphi; I will update the video about it soon),
- customizable by Container.InputInspector (instance of TInputInspector).
TCastleNotifications.DesignTestMessagesTimeout – cool feature to preview how notifications look like in design mode.
KTX fixes to handle RGB8, SRGB8 colors.
We officially deprecate dynamic library to read and render 3D models using CGE due to low usage. It was never the right way to use CGE (since it exposes a tiny API compared to what you can do with real CGE). We also deprecate some examples, as they no longer present “the advised way” of doing various things.
Fixed confusing LibPng warnings on Android (to account for the fact that LibPng is initialized on Android later).