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

Low-res render without intermediate sprite #10838

Open
musjj opened this issue Dec 2, 2023 · 0 comments
Open

Low-res render without intermediate sprite #10838

musjj opened this issue Dec 2, 2023 · 0 comments
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible

Comments

@musjj
Copy link

musjj commented Dec 2, 2023

What problem does this solve or what need does it fill?

One popular way to achieve a pixel art look is to render your scene to a low-resolution texture, before scaling it up. The advantage to this is that we are guaranteed to get a perfect grid of pixels for free. An example implementation can be seen here: #8112.

The problem is that this breaks some expectations taken by granted, such as where your cursor is actually located. Since the physical scene is smaller than what actually shows up in your screen (the scaled up texture), your cursor is no longer synchronized with what you're seeing.

This broke bevy_mod_picking (though it can be worked around) and I'd no doubt face this problem again with UI (once #10559 drops).

What solution would you like?

An integrated solution that takes care of these things automatically would be really nice. In Ebitengine, we can specify the logical resolution of our game's screen which is then automatically scaled up to fit the window size. Maybe we can have something similar in Bevy too.

What alternative(s) have you considered?

The alternative is to manually deal with inconsistencies introduced by the intermediate sprite method on a per-context basis.

Additional context

Related: #5712

@musjj musjj added C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels Dec 2, 2023
@ItsDoot ItsDoot added A-Rendering Drawing game state to the screen and removed S-Needs-Triage This issue needs to be labelled labels Dec 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible
Projects
None yet
Development

No branches or pull requests

2 participants