Skip to content

Mesh API overhaul (#599 Followup) #756

Closed

Description

@julhe

So #599 got merged, but there's more to it:

  • Add API to customize attribute data befor passing to buffer to allow:
    Float -> Half/NormU16/... conversion
    Attribute Packing (is that even still a thing?)
    normal compression
    (custom initialization of undefinied attributes ?)
  • Allow for multiple attribute buffers.
  • Replace buffer names with hashes for tighter structs?
  • Allow for VertexAttributeValues to be unloaded after beeing send to GPU to save CPU memory. Mesh: added static and dynamic mesh for less runtime memory usage #1782
  • Allocated one big fallback buffer instead of speperate ones for each mesh. Removed vertex fallback buffer #870
  • Provide example. (see Example for custom mesh attributes #757)
  • Quick accsess to common attributes, eg. Mesh::set_positions(positions: Vec<[f32; 3]>)?

Activity

  1. added
    C-FeatureA new feature, making something new possible
    A-RenderingDrawing game state to the screen
    on Oct 31, 2020
  2. bonsairobo commented on Jan 28, 2021

    @bonsairobo
    Contributor

    Allow for VertexAttributeValues to be unloaded after beeing send to GPU to save CPU memory.

    Big +1. I have lots of terrain meshes that are hogging a good amount of RAM.

  3. ItsDoot commented on Aug 22, 2024

    @ItsDoot
    Contributor

    The remaining unchecked items have been fulfilled or have equivalents in bevy today (as of 0.14),

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-RenderingDrawing game state to the screenC-FeatureA new feature, making something new possible

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions