shin
shin copied to clipboard
Implement the rendering pipeline closer to the game
I have spent some time carefully reverse-engineering how the rendering pipeline actually works in the engine, and what we have right now is very different from the game. I want to basically rewrite
This will help us to support features like:
- Masks applied to
LayerGroups (which is whatshincurrently crashes) -
NewDrawableLayer-based effects (props 0x38-0x54). This is actually the only kind of effects used in umineko, with remnants of the older system (EffectLayer) still being present in the game. ~~What a mess~~ - #8 (the rendering part)
This will probably also reduce GPU usage a bit: we do a ton of redundant renders right now, while the original engine design seems pretty optimized for some older smaller GPUs.
However I am not sure if it should be done now: wgpu seems to be on its path to resolving gfx-rs/wgpu#1453, which will make it much easier to implement the renderer (no need to manually put the GFX objects into an arena and ensuring they outlive the frame render).