Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Taking a look at
get_texture_index
we are returning the index asusize
. I think we should do the same here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My preference would actually be to change
get_texture_index
to return a u32 too.TextureAtlasSprite
and the shader for it takes a u32.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should come up with a guideline to keep Bevy consistent. My opinion would be to use
usize
for indices and cast them tou32
when passing them to shaders. Initial responses on Discord suggest the same. Making all this consistent should be another PR though, so I wouldn't block this one based on the inconsistency.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now, this needs to be u32 because we directly use the TextureAtlasSprite type when generating shader uniform buffers. In the renderer rework, this is no longer the case. And I agree that we should favor usize in user facing types for more natural indexing.
I think we should merge this as-is. Can you create another PR for the
pipelined-rendering
branch and make the relevant types inbevy_sprites2
use usize?