How can I learn the GPU module for UPBGE?

I want to make my own shaders for my own objects in UPBGE, but the issue is that I am on an M1 iMac, and M1 disallows GLSL shaders on vertex objects as it cannot compile them. Doing so returns this line:

UNSUPPORTED (log once) Possible issue: Unit GLD (insert texture number here) is bound to (variable type) and is unloadable.

Due to this GLSL error (This is a hardware issue, not UPBGE itself), I can only use the GPU module, but I can barely use it and it is so confusing.

I would like to use the GPU module for custom object shaders, but I don’t know where to start. Can anyone please give me any pointers, or lead me to any tutorial sites/videos/guides on how to write shaders using the GPU module and use them?

I have next to no clue on how to write shader batches for UPBGE to properly compile object shaders.

Thank you.

probaly you can learn about it with outside code of openGL, like you can translate some stuf from bullet to bge python bullet, if not only one can show you a few tricks is probaly MartinsUpfits, who know alot of shaders… it will be a wild ride to learn this stuff

m1 mac use metal - gpu module will need to use metal in this instance.

1 Like

That’s coming up in 0.4.0. But I check like every alternate week or so, and no Mac Alpha version, just Linux and Windows. I assume a Mac Alpha version comes out at the halfway point of the stable release.

I look forward to full metal integration - it will allow for increased performance, better stability, and a faster UPBGE/Blender. Restricting Blender/UPBGE to Intel also slows them down because on Apple Silicon, they must be emulated through the Rosetta app, which may place extra stress on these apps like in the case of 2.79. Notarisation is also something that must be put into Blender and UPBGE - even the PSP had notarisation. If you launched a software that was not signed on the PSP, it would tell you that the game could not be started. This exact principle was applied by Apple in macOS Catalina+.