Skip to content

延伸阅读

本章只打开了渲染架构的一条缝。如果你想深入,以下方向值得探索:

bevy_core_pipeline

Bevy 的核心渲染管线——前向渲染、后处理、抗锯齿——全部以挂在 RenderGraph 调度与 RenderSystems 各阶段上的系统形式实现。源码在 vendor/bevy/crates/bevy_core_pipeline/,是学习渲染调度组织方式的第一手资料。

bevy_pbr

PBR(基于物理的渲染)管线实现了 StandardMaterial 的全部功能:光照计算、阴影映射、环境贴图、透明度处理。源码在 vendor/bevy/crates/bevy_pbr/

wgpu

Bevy 的 GPU 抽象层是 wgpu,它在 Vulkan、DirectX 12、Metal、WebGPU 之上提供统一的 API。RenderContext 内部封装了 wgpu::CommandEncoder

自定义 Material

第 36 章介绍了 Material trait 和 Shader 编写。结合本章的调度知识,你可以理解一个自定义 Material 是如何从 prepare_assetsqueue_material_meshes 再到 Render 阶段中被实际绘制的。

官方示例

Bevy 仓库中有多个渲染相关的示例:

  • custom_render_phase:自定义渲染阶段
  • custom_shader_material:自定义 Shader 材质
  • compute_shader_game_of_life:Compute Shader 示例

这些示例在 vendor/bevy/examples/ 下可以找到源码。