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

Move skin code to a separate module #9899

Merged
merged 5 commits into from Sep 25, 2023
Merged

Conversation

nicopap
Copy link
Contributor

@nicopap nicopap commented Sep 22, 2023

Objective

mesh.rs is infamously large. We could split off unrelated code.

Solution

Morph targets are very similar to skinning and have their own module. We move skinned meshes to an independent module like morph targets and give the systems similar names.

Open questions

Should the skinning systems and structs stay public?


Migration Guide

Renamed skinning systems, resources and components:

  • extract_skinned_meshes -> extract_skins
  • prepare_skinned_meshes -> prepare_skins
  • SkinnedMeshUniform -> SkinUniform
  • SkinnedMeshJoints -> SkinIndex

mesh.rs is infamously large. We could split off unrelated code.

Morph targets are very similar to skinning and have their own module.
We move skinned meshes to an independent module like morph targets and
give the systems similar names.
@nicopap nicopap added A-Rendering Drawing game state to the screen C-Code-Quality A section of code that is hard to understand or change A-Animation Make things move and change over time C-Breaking-Change A breaking change to Bevy's public API that needs to be noted in a migration guide labels Sep 22, 2023
Co-authored-by: François <mockersf@gmail.com>
Copy link
Contributor

@atlv24 atlv24 left a comment

Choose a reason for hiding this comment

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

These changes are good. I was hesitant at first with the skinned_mesh -> skins rename but i think it is less noisy and makes it easier to search for only mesh related stuff vs only skin related stuff in the codebase.

crates/bevy_pbr/src/render/skin.rs Show resolved Hide resolved
crates/bevy_pbr/src/render/morph.rs Show resolved Hide resolved
crates/bevy_pbr/src/render/mesh.rs Show resolved Hide resolved
crates/bevy_pbr/src/render/skin.rs Show resolved Hide resolved
nicopap and others added 2 commits September 23, 2023 20:00
Co-authored-by: vero <email@atlasdostal.com>
This replaces the comment added in 4339, detailing what exactly is
special about our approach.
@mockersf mockersf 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 Sep 25, 2023
@mockersf mockersf added this pull request to the merge queue Sep 25, 2023
Merged via the queue into bevyengine:main with commit db1e3d3 Sep 25, 2023
22 checks passed
rdrpenguin04 pushed a commit to rdrpenguin04/bevy that referenced this pull request Jan 9, 2024
# Objective

mesh.rs is infamously large. We could split off unrelated code.

## Solution

Morph targets are very similar to skinning and have their own module. We
move skinned meshes to an independent module like morph targets and give
the systems similar names.

### Open questions

Should the skinning systems and structs stay public?

---

## Migration Guide

Renamed skinning systems, resources and components:

- extract_skinned_meshes -> extract_skins
- prepare_skinned_meshes -> prepare_skins
- SkinnedMeshUniform -> SkinUniform
- SkinnedMeshJoints -> SkinIndex

---------

Co-authored-by: François <mockersf@gmail.com>
Co-authored-by: vero <email@atlasdostal.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Animation Make things move and change over time A-Rendering Drawing game state to the screen C-Breaking-Change A breaking change to Bevy's public API that needs to be noted in a migration guide C-Code-Quality A section of code that is hard to understand or change 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.

None yet

3 participants