I’m trying to get back into blogging and as part of that I’m going to start posting my personal projects for the month. It’s something to keep me posting regularly and also a nice way to hold myself accountable for progress.
I’m working on a few things right now:
- I made improvements in OpenAL-Soft for detecting surround speaker configurations on macOS. Next I’m going to work on adding Spatial Audio support on Apple platforms. I’ll be integrating CoreAudio’s Spatial Audio mixer into OpenAL.
- This one is kind of odd because OpenAL can do its own 3D to stereo down mixing. But getting raw positioning data to feed into OpenAL seems to be guarded by a privacy permission.
- I’ll look at building Nvidia PhysX 4.1 for visionOS. This continues the effort to get Plasma running on visionOS.
- Plasma doesn’t use the Omniverse vision of PhysX which drops 32 bit support. Uru Live is still distributed for 32 bit Windows. So this work will be on the Gameworks version of PhysX.
- The Mac port of Plasma has issues around display and resolution detection and will require some refactoring. This is the last major functional issue with Plasma on Mac.
- The Metal version of Plasma does not properly handle bump maps. Cyan used a primitive bump mapping algorithm that worked with fixed function Direct3D.. I’ve written both a modern bump mapper and a bump mapping shader that emulates their bump mapping. I’ll keep on moving this forward in the Mac engine. This is the last rendering feature missing from the Metal pipeline.
- It’s always tricky to work on old games because you risk changing the artist’s original intention. While the modern bump mapping looks amazing – it does look different. The old algorithm didn’t support independent light contributions – and it ignored an entire channel of the bump map. But it’s also the material appearance an artist fine tuned.
As the Mac version of Uru Live becomes complete I’d like to see it roll out to users. But I don’t have any updates that I can share yet. While there are open source servers, Cyan controls the official servers for Uru. There have been some conversations around merging some changes that could include the Mac client into the official Cyan repository and patch server.