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

Make sure added image assets are checked in camera_system #10556

Merged

Conversation

torsteingrindvik
Copy link
Contributor

Objective

Make sure a camera which has had its render target changed recomputes its info.

On main, the following is possible:

  • System A has an inactive camera with render target set to the default Image (i.e. white 1x1 rgba texture)

Later:

  • System B sets the same camera active and sets the camera.target to a newly created Image

Bug: Since camera_system only checks Modified and not Added events, the size of the render target is not recomputed, which means the camera will render with 1x1 size even though the new target is an entirely different size.

Solution

  • Ensure camera_system checks Added image assets events

Changelog

Fixed

  • Cameras which have their render targets changed to a newly created target with a different size than the previous target will now render properly

@alice-i-cecile alice-i-cecile added C-Bug An unexpected or incorrect behavior A-Rendering Drawing game state to the screen labels Nov 14, 2023
@torsteingrindvik torsteingrindvik changed the title Make sure added image assets register are checked in camera_system Make sure added image assets are checked in camera_system Nov 14, 2023
Copy link
Contributor

@tbillington tbillington left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch 👍

@alice-i-cecile alice-i-cecile added the S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it label Nov 15, 2023
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Nov 15, 2023
Merged via the queue into bevyengine:main with commit 782f186 Nov 15, 2023
22 checks passed
rdrpenguin04 pushed a commit to rdrpenguin04/bevy that referenced this pull request Jan 9, 2024
…#10556)

# Objective

Make sure a camera which has had its render target changed recomputes
its info.

On main, the following is possible:

- System A has an inactive camera with render target set to the default
`Image` (i.e. white 1x1 rgba texture)

Later:

- System B sets the same camera active and sets the `camera.target` to a
newly created `Image`

**Bug**: Since `camera_system` only checks `Modified` and not `Added`
events, the size of the render target is not recomputed, which means the
camera will render with 1x1 size even though the new target is an
entirely different size.

## Solution

- Ensure `camera_system` checks `Added` image assets events

## Changelog

### Fixed

- Cameras which have their render targets changed to a newly created
target with a different size than the previous target will now render
properly

---------

Signed-off-by: Torstein Grindvik <[email protected]>
Co-authored-by: Torstein Grindvik <[email protected]>
Co-authored-by: Afonso Lage <[email protected]>
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-Bug An unexpected or incorrect behavior S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants