Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the rendering pipeline closer to the game #37

Open
DCNick3 opened this issue May 6, 2024 · 0 comments
Open

Implement the rendering pipeline closer to the game #37

DCNick3 opened this issue May 6, 2024 · 0 comments
Labels
architecture Needs non-trivial large-scale code restructuring inconsistency Something doesn't work as it does in the game

Comments

@DCNick3
Copy link
Owner

DCNick3 commented May 6, 2024

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 what shin currently 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
  • Properly implement transitions & wipes #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).

@DCNick3 DCNick3 added inconsistency Something doesn't work as it does in the game architecture Needs non-trivial large-scale code restructuring labels May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
architecture Needs non-trivial large-scale code restructuring inconsistency Something doesn't work as it does in the game
Projects
None yet
Development

No branches or pull requests

1 participant