这是探究 bevy renderer 渲染器的一系列文章。这篇文章谈论bevy的2d渲染实现。

2d精灵渲染流程

  • 提取
    • 提取可见性的数据到ExtractedSpritese和ExtractedSlices(extract_sprites)
    • 清空phase (extract_core_2d_camera_phases)
  • 渲染
    • 更改 ViewSortedRenderPhases 中的数据(queue_sprites)
    • 更改 ViewSortedRenderPhases 中的数据 同时更新SpriteMeta(prepare_sprite_image_bind_groups)
    • 给每个view的实体添加SpriteViewBindGroup(prepare_sprite_view_bind_groups)
    • 排序(sort_binned_render_phase)
  • 渲染图
    • core2d
      • main_transparent_pass_2d (几何)
      • tonemapping
      • upscaling