用途:帮助在 Bevy 0.19 中做出渲染路径决策。默认从内置 wgpu 渲染器开始,只有经过实测约束确有必要时才走自定义路径;替换渲染器会同时影响资源准备、可见性、相机、材质、平台集成与调试,而非只换一个插件。
主要能力与用法:按需求分类——普通 2D/3D 游戏、编辑器或可视化用内置 2d/3d profile;自定义着色器或特殊 pass 用扩展内置渲染;桌面级 GPU 上大量动态光源可考虑延迟不透明渲染;无像素的服务器模拟用无头 MinimalPlugins;已有专有或嵌入式渲染器用 2d_api/3d_api 加显式桥接。物理、碰撞、角色运动走 bevy-physics,它不决定渲染器选择;bevy_rapier3d 做刚体模拟与查询,其可选调试绘制才使用 Bevy 渲染,Rapier 本身不是渲染器。
前向与延迟:前向是不透明默认方式,适合广泛平台、MSAA、较低带宽、较少光源和材质灵活性;延迟把不透明材质数据写入 G-buffer,可在多光源下减少重复几何工作,但带宽更高且不支持 MSAA。延迟设置通过 DefaultOpaqueRendererMethod::deferred(),相机需 Msaa::Off、DepthPrepass、DeferredPrepass。该选择只作用于不透明渲染,透明材质仍需相应前向/透明路径,建议在最低配置硬件上用代表性内容做基准测试。
扩展优先于替换:依次为 StandardMaterial 属性与相机/后处理组件;Material、Material2d 或 MaterialExtension 做着色器特化;渲染世界提取/准备/排队管线;在 Core2d/Core3d 中用 Bevy 0.19 渲染系统写自定义 pass;只有在前面层级无法满足约束时才用完全外部渲染器。0.19 移除了相机 ViewNode/渲染图节点 API,渲染 pass 是以 ViewQuery 和 RenderContext 并按实际系统函数或 Core3dSystems/Core2dSystems 排序的系统;顶层 bevy::render::renderer::RenderGraph 调度仍用于非相机工作。
无头与外部渲染:服务器模拟可关闭渲染栈;外部渲染器消费 Bevy 世界侧 3D 类型,需定义变换、网格、材质、相机、可见性、资源生命周期、GPU 上传、窗口/表面事件和帧节奏的所有权与同步,渲染器专用句柄放在专用组件中。
限制:资料未提供收费、价格或效果承诺信息。可运行 python3 scripts/audit_renderer_features.py path/to/Cargo.toml 检查常见 profile 与 Rapier/调试渲染不匹配。