Will View3DScene be ready for Catalina, the new 64-bit-only Mac OS?

Hello. I am a new user of View3dScene on my Macbook pro. I like it’s performances right now, but I was just noticing one thing:

I was just looking at my System Report application list on my Mac OS Mojave and noticed that one of the few 32-bit applications was View3DScene.

What I was wondering is whether a 64-bit version of View3DScene will be ready when Catalina is rolled out on Apple computers.

I find this program runs more smoothly than Instant Player, which I also have but which is loaded with bugs. So it would be nice to have View3DScene around when the bit 64-bit switch comes.

Thanks for good words about view3dscene :slight_smile:

Yes, we will be ready for macOS Catalina, i.e. we will have view3dscene 64-bit release. If for some reason view3dscene 64-bit will not be released by September 2019 (when Catalina should be released, according to Wikipedia), please ping me and I’ll do it in “priority mode” :slight_smile:


  • Currently view3dscene is 32-bit, because on macOS it is using Lazarus LCL ( https://www.lazarus-ide.org/ ), and Lazarus had poor support for Cocoa (a GUI widgetset that works on 64-bit) a ~year ago but excellent support for Carbon (that is limited to 32-bit). So I decided to stick with Carbon, until Cocoa support in LCL is improved, and thus view3dscene release is 32-bit on macOS now.

  • You can read https://castle-engine.io/macosx_requirements.php for more details about libraries we use in Castle Game Engine (which is used to build view3dscene) on macOS.

  • Two things may happen to enable view3dscene 64-bit on macOS:

    1. Either Lazarus improves Cocoa support, including supporting TOpenGLControl for Cocoa. This has possibly already happened, I admittedly didn’t run latest Lazarus (from SVN) on macOS since ~2-3 months.

    2. Or we (in Castle Game Engine) implement a “backend” for our CastleWindow unit that opens a window using Cocoa. Thus we avoid using Lazarus LCL at all. It’s similar to how we work on Linux (where we use GTK directly, instead of indirectly by LCL) or Windows (where we use WinAPI directly, instead of indirectly by LCL).

  • So, basically, if AD 1 doesn’t happen soon enough (assuming it did not happen already) then I will do AD 2 :slight_smile: