Coder Social home page Coder Social logo

Comments (9)

lordloki avatar lordloki commented on September 25, 2024 4

Currently, blender 4.1 alpha or upbge 0.41 alpha for MacOS uses Metal for the viewport. The crash comes from the upbge reasterizer when it tries to uses opengl .
image

I'm trying to remove all the Opengl calls for macos to start testing metal port. I will inform you to make tests.
Thanks for your feedback.

from upbge.

lordloki avatar lordloki commented on September 25, 2024 2

Hi,

The Silicon build is here: https://mega.nz/folder/t9EEFSaS#JPiOPSInCZyU-SW_-rhEOQ

Currently I'm trying to cross-compile (from an intel mac) to get an apple silicon build but no success at this moment. I can help you with the build if you want.

from upbge.

Michael-Z-Freeman avatar Michael-Z-Freeman commented on September 25, 2024 2

Thanks Michael.

By the way I built the game engine from the upbge-v0.36-release branch on a Intel Mac and I ran into the exact same issue. It crashes at the exact same place in GetNumLights() in RAS_OpenGLRasterizer.cpp.

I'm trying to re-build the official upbge-0.36.1-macOS-x86_64.dmg from the source which runs fine on my Intel and M1 Mac. Do you guys know what I'm missing?

UPBGE uses EEVEE right ? EEVEE works in latest Blender using macOS Metal. So UPBGE needs to hook into the EEVEE Metal calls not OpenGL. Not as easy as it sounds I guess.

from upbge.

Michael-Z-Freeman avatar Michael-Z-Freeman commented on September 25, 2024

Hi,

The Silicon build is here: https://mega.nz/folder/t9EEFSaS#JPiOPSInCZyU-SW_-rhEOQ

Currently I'm trying to cross-compile (from an intel mac) to get an apple silicon build but no success at this moment. I can help you with the build if you want.

Great. I'm on an Apple Silicon device (M1). Where are the build instructions ?

from upbge.

Michael-Z-Freeman avatar Michael-Z-Freeman commented on September 25, 2024

OK. I built Blender first using https://wiki.blender.org/wiki/Building_Blender/Mac ... Successful build. Seems to work OK but don't know how stable it is. It's also Alpha (4.1.0).

Did the same for UPBGE and it built OK. However hitting "P" on the default cube project crashes it. This is likely because its 4.1.0 Alpha ? If so how do I build a stable UPBGE ?

UPBGE Blender Crash Report Default Project.txt
UPBGE Apple Silicon MacOS Crash Report Default Project.txt
UPBGE 4 1 0 Alpha Apple Silicon Build Splash Screen
UPBGE executable Apple Silicon type CLI
Blender executable Apple Silicon type CLI
Blender 4 1 0 Alpha Apple Silicon Build Splash Screen

from upbge.

Michael-Z-Freeman avatar Michael-Z-Freeman commented on September 25, 2024

Currently, blender 4.1 alpha or upbge 0.41 alpha for MacOS uses Metal for the viewport. The crash comes from the upbge reasterizer when it tries to uses opengl . image

I'm trying to remove all the Opengl calls for macos to start testing metal port. I will inform you to make tests. Thanks for your feedback.

Ah. Thanks.

Can the viewport renderer be temporarily switched away from Metal for the moment back to OpenGL either within Blender itself (I can't see an option for this) or with command line build option ?

from upbge.

gratoo avatar gratoo commented on September 25, 2024

Any luck on this? I'd like to help if possible. Where should I start looking to understand and solve that issue?

from upbge.

Michael-Z-Freeman avatar Michael-Z-Freeman commented on September 25, 2024

Any luck on this? I'd like to help if possible. Where should I start looking to understand and solve that issue?

Blender upstream has an Apple Silicon download. Of course that Blender does not have the game engine anymore. So UPBGE OpenGL calls are coming from the game engine which of course was never fixed for Apple Silicon because it was removed from Blender main years ago. I wonder if a wrapper is available such as we see with DXVK ( https://github.com/doitsujin/dxvk ) that can translate from OpenGL to Metal ?

https://github.com/openglonmetal/MGL ? ... "This is a start for porting OpenGL 4.6 on top of Metal".

https://github.com/kakashidinho/metalangle ? ... "MetalANGLE - OpenGL ES to Apple Metal API Translation Layer".

https://www.reddit.com/r/opengl/comments/qtxgph/its_alive_opengl_45_on_mac_os_metal/ ? ... "It's alive OpenGL 4.5 on Mac OS Metal".

from upbge.

gratoo avatar gratoo commented on September 25, 2024

Thanks Michael.

By the way I built the game engine from the upbge-v0.36-release branch on a Intel Mac and I ran into the exact same issue. It crashes at the exact same place in GetNumLights() in RAS_OpenGLRasterizer.cpp.

I'm trying to re-build the official upbge-0.36.1-macOS-x86_64.dmg from the source which runs fine on my Intel and M1 Mac. Do you guys know what I'm missing?

from upbge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.