Skip to content

Commit

Permalink
More links for Bevy 0.6
Browse files Browse the repository at this point in the history
  • Loading branch information
alice-i-cecile committed Feb 11, 2022
1 parent 7088c5d commit ba5b2c3
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions content/news/2022-01-08-bevy-0.6/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ Bevy's built-in render features build on top of the Core Pipeline (ex: [`bevy_sp

<div class="release-feature-authors">authors: @cart</div>

The new renderer structure gives developers fine-grained control over how entities are drawn. Developers can manually define Extract, Prepare, and Queue systems to draw entities using arbitrary render commands in custom or built-in [`RenderPhases`](`RenderPhase`). However this level of control necessitates understanding the render pipeline internals and involve more boilerplate than most users are willing to tolerate. Sometimes all you want to do is slot your custom material shader into the existing pipelines!
The new renderer structure gives developers fine-grained control over how entities are drawn. Developers can manually define Extract, Prepare, and Queue systems to draw entities using arbitrary render commands in custom or built-in [`RenderPhases`]. However this level of control necessitates understanding the render pipeline internals and involve more boilerplate than most users are willing to tolerate. Sometimes all you want to do is slot your custom material shader into the existing pipelines!

The new [`Material`] trait enables users to ignore nitty gritty details in favor of a simpler interface: just implement the [`Material`] trait and add a [`MaterialPlugin`] for your type. The new [shader_material.rs](https://github.com/bevyengine/bevy/blob/v0.6.0/examples/shader/shader_material.rs) example illustrates this.

Expand All @@ -193,14 +193,16 @@ impl Material for CustomMaterial {
}
```

There is also a `SpecializedMaterial` variant, which enables "specializing" shaders and pipelines using custom per-entity keys. This extra flexibility isn't always needed, but when you need it, you will be glad to have it! For example, the built-in StandardMaterial uses specialization to toggle whether or not the Entity should receive lighting in the shader.
There is also a [`SpecializedMaterial`] variant, which enables "specializing" shaders and pipelines using custom per-entity keys. This extra flexibility isn't always needed, but when you need it, you will be glad to have it! For example, the built-in StandardMaterial uses specialization to toggle whether or not the Entity should receive lighting in the shader.

We also have big plans to make [`Material`] even better:
* **Bind Group derives**: this should cut down on the boilerplate of passing materials to the GPU.
* **Material Instancing**: materials enable us to implement high-level mesh instancing as a simple configuration item for both built in and custom materials.

[`Material`]: https://docs.rs/bevy/0.6.0/bevy/pbr/trait.Material.html
[`MaterialPlugin`]: https://docs.rs/bevy/0.6.0/bevy/pbr/struct.MaterialPlugin.html
[`SpecializedMaterial`]: https://docs.rs/bevy/0.6.0/bevy/pbr/trait.SpecializedMaterial.html
[`RenderPhases`]: https://docs.rs/bevy/0.6.0/bevy/render/render_phase/struct.RenderPhase.html

### Visibility and Frustum Culling

Expand Down

0 comments on commit ba5b2c3

Please sign in to comment.