Hi. Thanks for reporting the issue. I'm a contributing author; Allan has the last word but hasn't been heard of in a long time.
Bricksmith uses OpenGL for its rendering and this hasn't been supported by Apple for some time. The Bricksmith codebase is old and TBH I've been surprised that it worked as recently as Catalina. There's a very large amount of work required to bring it into the modern world. It still targets OSX 10.8 AFAICR.
While it's probably not the answer you want, your best bet in the short term is to spin up a Virtual Box with Catalina (or older, down to MountainLion-ish) and use Bricksmith there. OS install images are available from Apple. My tests a year or so ago showed that VBox was quite performant running Bricksmith.
I've not looked into what's required to add OpenGL to a Big Sur machine (still on Catalina due to work requirements) but it is still usable - apparently - on even new Apple Silicon so there is potentially a route forwards there, but some investigation would be required.
If you've the desire and the time the OpenGL bits are fairly localised and could be naively ported to Metal, I dare say (Ben may chime in with a Tsk Tsk at that point). The bigger issues I found were the lock-step upgrades to XCode and OSX from 10.8 onwards and the continual Objective C warnings that needed fixed; all of that took a prohibitive amount of time even before thinking about modernising the rendering.
If you do find a way forward let us know so that the docs can be updated.
Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This ticket should get moved to the github BrickSmith repo.
Robin, the isn't GL itself - Big Sur. GL apps still work - the issue is
that Apple finally fully removed support for NS Views for GL that don't
have their own CA layer. Not having a CA layer is a legacy option but was
required to make BrickSmith's zooming and scrolling model work, so the
changes to make a "modern" app (GL or Metal) is non-trivial.
Status: open Group: v1.0_(example) Created: Tue Dec 29, 2020 07:29 PM UTC by Mark Mitchell Last Updated: Tue Dec 29, 2020 07:29 PM UTC Owner: nobody Attachments:
Oops - sorry, I should add, the Metal port won't help - the Metal render
will be in its own CA layer too and have its own issues. Metal + rewritten
scrolling would work, but it's the rewritten scrolling that's winning.
This ticket should get moved to the github BrickSmith repo.
Robin, the isn't GL itself - Big Sur. GL apps still work - the issue is
that Apple finally fully removed support for NS Views for GL that don't
have their own CA layer. Not having a CA layer is a legacy option but was
required to make BrickSmith's zooming and scrolling model work, so the
changes to make a "modern" app (GL or Metal) is non-trivial.
Status: open Group: v1.0_(example) Created: Tue Dec 29, 2020 07:29 PM UTC by Mark Mitchell Last Updated: Tue Dec 29, 2020 07:29 PM UTC Owner: nobody Attachments:
Thanks. I will take a look at the repo, not sure i would be abale to contribute effectlively - i have not been an actie dev for a long time - but I am curious.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's a really well documented codebase - credit to Allen for this - and pretty well laid out. App-related code is separated from GL code is separated from LDraw parsing and model code. There's still some coupling, a few pieces of raw C and the ObjC is pre-ARC. The usual Cocoa App magic ("Where's the menu code?") still wrong-foots me. Some of the ObjC literal syntax looks painful to a modern Swift-spoiled eye. You'll need an OSX 10.8ish dev setup, XCode 5? 6? Something like that. It is possible to walk it forwards to ARC-based ObjC without too much thought, and the current build target is 10.8. Oh, and from memory, issues with installing old OSX/XCode in a VM may require setting the clock back to sundial era dates. Good luck!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi. Thanks for reporting the issue. I'm a contributing author; Allan has the last word but hasn't been heard of in a long time.
Bricksmith uses OpenGL for its rendering and this hasn't been supported by Apple for some time. The Bricksmith codebase is old and TBH I've been surprised that it worked as recently as Catalina. There's a very large amount of work required to bring it into the modern world. It still targets OSX 10.8 AFAICR.
While it's probably not the answer you want, your best bet in the short term is to spin up a Virtual Box with Catalina (or older, down to MountainLion-ish) and use Bricksmith there. OS install images are available from Apple. My tests a year or so ago showed that VBox was quite performant running Bricksmith.
I've not looked into what's required to add OpenGL to a Big Sur machine (still on Catalina due to work requirements) but it is still usable - apparently - on even new Apple Silicon so there is potentially a route forwards there, but some investigation would be required.
If you've the desire and the time the OpenGL bits are fairly localised and could be naively ported to Metal, I dare say (Ben may chime in with a Tsk Tsk at that point). The bigger issues I found were the lock-step upgrades to XCode and OSX from 10.8 onwards and the continual Objective C warnings that needed fixed; all of that took a prohibitive amount of time even before thinking about modernising the rendering.
If you do find a way forward let us know so that the docs can be updated.
Thanks!
Hi Guys,
This ticket should get moved to the github BrickSmith repo.
Robin, the isn't GL itself - Big Sur. GL apps still work - the issue is
that Apple finally fully removed support for NS Views for GL that don't
have their own CA layer. Not having a CA layer is a legacy option but was
required to make BrickSmith's zooming and scrolling model work, so the
changes to make a "modern" app (GL or Metal) is non-trivial.
On Tue, Dec 29, 2020 at 2:29 PM Mark Mitchell markmit@users.sourceforge.net
wrote:
Related
Bugs: #18
Oops - sorry, I should add, the Metal port won't help - the Metal render
will be in its own CA layer too and have its own issues. Metal + rewritten
scrolling would work, but it's the rewritten scrolling that's winning.
On Wed, Dec 30, 2020 at 3:02 PM Benjamin Supnik bsupnik@xsquawkbox.net
wrote:
Related
Bugs: #18
Obviously, I haven't had the ability to contribute to this project in years, but I would hate to see it die. Is there anything I can do to help?
What is the most recent copy of the code and how does one contribute now? I see several branches at https://github.com/bsupnik/bricksmith.
Thanks. I will take a look at the repo, not sure i would be abale to contribute effectlively - i have not been an actie dev for a long time - but I am curious.
It's a really well documented codebase - credit to Allen for this - and pretty well laid out. App-related code is separated from GL code is separated from LDraw parsing and model code. There's still some coupling, a few pieces of raw C and the ObjC is pre-ARC. The usual Cocoa App magic ("Where's the menu code?") still wrong-foots me. Some of the ObjC literal syntax looks painful to a modern Swift-spoiled eye. You'll need an OSX 10.8ish dev setup, XCode 5? 6? Something like that. It is possible to walk it forwards to ARC-based ObjC without too much thought, and the current build target is 10.8. Oh, and from memory, issues with installing old OSX/XCode in a VM may require setting the clock back to sundial era dates. Good luck!