bevyengine / bevyengine/bevy

Support resolution scaling and configuring main texture size of Camera

Open
#21,530 1 comment 7 reactions 0 assignees View on GitHub
A-Rendering C-Feature D-Complex S-Needs-Design
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?

The main texture size of Camera is always the viewport physical size and cannot be configured, which prevents the implementation of resolution scaling/super-resolution algorithms (such as Bilinear, and AMD FSR 2.0 #5232, #12768). Resolution scaling could allow values < 1.0 for performance, or > 1.0 for supersample antialiasing.

`MainPassResolutionOverride` doesn't actually affect the main texture size. I'm not sure how it works, but it doesn't work for simple 3D scenes if I just add this component to Camera.

## What solution would you like?

Make Camera main texture size configurable. Ideally, it should be independent of the viewport and work with it, and make the final upscaling pass customizable to implement resolution scaling.

## What alternative(s) have you considered?

No

## Additional context

Godot has settings for 3D resolution scaling https://docs.godotengine.org/en/latest/tutorials/3d/resolution_scaling.html#resolution-scaling

Contributor guide

Open the contributing guide

Research direction

Start by tracing how Camera determines its main texture size and how MainPassResolutionOverride currently behaves. Review the linked resolution-scaling issues and Godot's resolution-scaling documentation for context. Done means the main texture size can be configured independently of the viewport and the final upscaling pass can be customized.

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
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.