Support LoadMasks for graphics quality adjustments
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 35
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
Every Plasma object is tagged with a "LoadMask" that determines what graphics quality setting and shader capabilities it requires. Currently, korman exports all objects with a default LoadMask resulting in them always being loaded.
The most obvious spot in Uru where LoadMasks are used is for Wavesets, which require pixel shaders. Typically there is a flat plane with an animated water texture provided as a fallback for machines that don't meet that capability.
Looking through the PlasmaMax code, it also appears that shadow casters are tagged with LoadMasks indicating at which graphics quality level the shadows should start appearing.
Attaching a LoadMask to a single object to prevent it appearing is reasonably trivial, but often you want to provide a fallback with the inverse of that LoadMask. PlasmaMax handles this with the "Representation Group" component, which allows specifying a bunch of objects with LoadMasks requirements attached, and it will figure out at export time what the actual LoadMask value should be for each object.
This would be a step in the right direction for allowing korman-exported Ages to adapt to graphics settings on machines with lower resources.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the PlasmaMax code for LoadMask handling and the Representation Group component described in the issue, then trace how Korman exports objects. Done means exported objects receive appropriate LoadMasks and fallback representations can adapt to graphics capabilities and quality settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blender, python
- Domain
- game-dev, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100