bevy/assets
robtfm 979c4094d4
pbr shader cleanup (#10105)
# Objective

cleanup some pbr shader code. improve shader stage io consistency and
make pbr.wgsl (probably many people's first foray into bevy shader code)
a little more human-readable. also fix a couple of small issues with
deferred rendering.

## Solution

mesh_vertex_output: 
- rename to forward_io (to align with prepass_io)
- rename `MeshVertexOutput` to `VertexOutput` (to align with prepass_io)
- move `Vertex` from mesh.wgsl into here (to align with prepass_io)

prepass_io: 
- remove `FragmentInput`, use `VertexOutput` directly (to align with
forward_io)
- rename `VertexOutput::clip_position` to `position` (to align with
forward_io)

pbr.wgsl:
- restructure so we don't need `#ifdefs` on the actual entrypoint, use
VertexOutput and FragmentOutput in all cases and use #ifdefs to import
the right struct definitions.
- rearrange to make the flow clearer
- move alpha_discard up from `pbr_functions::pbr` to avoid needing to
call it on some branches and not others
- add a bunch of comments

deferred_lighting:
- move ssao into the `!unlit` block to reflect forward behaviour
correctly
- fix compile error with deferred + premultiply_alpha

## Migration Guide

in custom material shaders:
- `pbr_functions::pbr` no longer calls to
`pbr_functions::alpha_discard`. if you were using the `pbr` function in
a custom shader with alpha mask mode you now also need to call
alpha_discard manually
- rename imports of `bevy_pbr::mesh_vertex_output` to
`bevy_pbr::forward_io`
- rename instances of `MeshVertexOutput` to `VertexOutput`

in custom material prepass shaders:
- rename instances of `VertexOutput::clip_position` to
`VertexOutput::position`
2023-10-13 19:12:40 +00:00
..
android-res/mipmap-mdpi android example polish (#845) 2020-11-11 16:31:16 -08:00
branding Minor Dark/Light Logo Tweak (#4051) 2022-02-27 02:09:42 +00:00
data Asset system rework and GLTF scene loading (#693) 2020-10-18 13:48:15 -07:00
docs Improve Mesh documentation (#9061) 2023-07-31 18:55:42 +00:00
environment_maps EnvironmentMapLight, BRDF Improvements (#7051) 2023-02-09 16:46:32 +00:00
fonts Add the license for the FiraMono font (#3589) 2022-05-06 19:29:43 +00:00
models Remove monkey.gltf (#9974) 2023-09-30 02:50:31 +00:00
pixel Add pixelated Bevy to assets and an example (#6408) 2022-11-14 22:15:46 +00:00
scenes (De) serialize resources in scenes (#6846) 2023-03-20 21:17:02 +00:00
shaders pbr shader cleanup (#10105) 2023-10-13 19:12:40 +00:00
sounds Add simple collision sound to breakout (#4331) 2022-04-14 20:20:38 +00:00
textures Add parallax mapping to bevy PBR (#5928) 2023-04-15 10:25:14 +00:00