bevy/crates
Robert Swain b1a91a823f bevy_pbr2: Add support for most of the StandardMaterial textures (#4)
* bevy_pbr2: Add support for most of the StandardMaterial textures

Normal maps are not included here as they require tangents in a vertex attribute.

* bevy_pbr2: Ensure RenderCommandQueue is ready for PbrShaders init

* texture_pipelined: Add a light to the scene so we can see stuff

* WIP bevy_pbr2: back to front sorting hack

* bevy_pbr2: Uniform control flow for texture sampling in pbr.frag

From 'fintelia' on the Bevy Render Rework Round 2 discussion:

"My understanding is that GPUs these days never use the "execute both branches
and select the result" strategy. Rather, what they do is evaluate the branch
condition on all threads of a warp, and jump over it if all of them evaluate to
false. If even a single thread needs to execute the if statement body, however,
then the remaining threads are paused until that is completed."

* bevy_pbr2: Simplify texture and sampler names

The StandardMaterial_ prefix is no longer needed

* bevy_pbr2: Match default 'AmbientColor' of current bevy_pbr for now

* bevy_pbr2: Convert from non-linear to linear sRGB for the color uniform

* bevy_pbr2: Add pbr_pipelined example

* Fix view vector in pbr frag to work in ortho

* bevy_pbr2: Use a 90 degree y fov and light range projection for lights

* bevy_pbr2: Add AmbientLight resource

* bevy_pbr2: Convert PointLight color to linear sRGB for use in fragment shader

* bevy_pbr2: pbr.frag: Rename PointLight.projection to view_projection

The uniform contains the view_projection matrix so this was incorrect.

* bevy_pbr2: PointLight is an OmniLight as it has a radius

* bevy_pbr2: Factoring out duplicated code

* bevy_pbr2: Implement RenderAsset for StandardMaterial

* Remove unnecessary texture and sampler clones

* fix comment formatting

* remove redundant Buffer:from

* Don't extract meshes when their material textures aren't ready

* make missing textures in the queue step an error

Co-authored-by: Aevyrie <aevyrie@gmail.com>
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2021-07-24 16:43:37 -07:00
..
bevy_app Added compute to the new pipelined renderer. 2021-07-24 16:43:37 -07:00
bevy_asset pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_audio pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_core pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_derive Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_diagnostic pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_dylib Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_dynamic_plugin pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_ecs bevy_pbr2: Add support for most of the StandardMaterial textures (#4) 2021-07-24 16:43:37 -07:00
bevy_gilrs pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_gltf pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_input pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_internal bevy_render now uses wgpu directly 2021-07-24 16:43:37 -07:00
bevy_log fix tracing and add graph spans 2021-07-24 16:43:37 -07:00
bevy_macro_utils Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_math Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_pbr pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_reflect Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_render bevy_render now uses wgpu directly 2021-07-24 16:43:37 -07:00
bevy_scene bevy_render now uses wgpu directly 2021-07-24 16:43:37 -07:00
bevy_sprite pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_tasks Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_text pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_transform bevy_pbr2: Add support for most of the StandardMaterial textures (#4) 2021-07-24 16:43:37 -07:00
bevy_ui pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_utils Port Mesh to RenderAsset, add Slab and FrameSlabMap garbage collection for Bind Groups 2021-07-24 16:43:37 -07:00
bevy_wgpu pipelined rendering proof of concept 2021-07-24 16:43:37 -07:00
bevy_window SubGraphs, Views, Shadows, and more 2021-07-24 16:43:37 -07:00
bevy_winit SubGraphs, Views, Shadows, and more 2021-07-24 16:43:37 -07:00
crevice StandardMaterial flat values (#3) 2021-07-24 16:43:37 -07:00