bevyengine / bevyengine/bevy

Allow external plugins to intervene more deeply in the rendering process of Sprite (Mesh2d).

Open
#13,229 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.