Allow external plugins to intervene more deeply in the rendering process of Sprite (Mesh2d).
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
I'm now trying to create a 2d lighting plugin, but I encountered a very tricky problem: I want to add something similar to normal mapping on sprite/mesh2d to achieve a PBR-like effect. However, if I want to render another independent texture on a separate material from sprite/mesh2d, I need to copy and paste the entire rendering process again.
## What solution would you like?
I'm not entirely clear on the specific solution, but I hope to allow Sprite/mesh2d to enter an additional RenderPhase during the Queue stage, and to allow for custom draw functions as well as custom fragment shaders.
## What alternative(s) have you considered?
At least make all structs that are related to the sprite/mesh2d rendering public, so I can grab these processed data directly.
## Additional context
None.
Contributor guide
Research direction
Start by tracing the Sprite/Mesh2d rendering process through the Queue stage and its RenderPhase. Compare the existing rendering structures with the requested custom draw functions and fragment shaders. Done would require a defined, documented extension point or public data structures, but the issue does not specify the API or exact behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100