bevy/assets/shaders
Markus Ort fd232ad360
Add UI Materials (#9506)
# Objective

- Add Ui Materials so that UI can render more complex and animated
widgets.
- Fixes #5607 

## Solution
- Create a UiMaterial trait for specifying a Shader Asset and Bind Group
Layout/Data.
- Create a pipeline for rendering these Materials inside the Ui
layout/tree.
- Create a MaterialNodeBundle for simple spawning.

## Changelog

- Created a `UiMaterial` trait for specifying a Shader asset and Bind
Group.
- Created a `UiMaterialPipeline` for rendering said Materials.
- Added Example [`ui_material`
](https://github.com/MarkusTheOrt/bevy/blob/ui_material/examples/ui/ui_material.rs)
for example usage.
- Created
[`UiVertexOutput`](https://github.com/MarkusTheOrt/bevy/blob/ui_material/crates/bevy_ui/src/render/ui_vertex_output.wgsl)
export as VertexData for shaders.
- Created
[`material_ui`](https://github.com/MarkusTheOrt/bevy/blob/ui_material/crates/bevy_ui/src/render/ui_material.wgsl)
shader as default for both Vertex and Fragment shaders.

---------

Co-authored-by: ickshonpe <david.curthoys@googlemail.com>
Co-authored-by: François <mockersf@gmail.com>
2023-11-03 22:33:01 +00:00
..
animate_shader.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
array_texture.wgsl double sided normals: fix apply_normal_mapping calls (#10330) 2023-11-01 16:40:25 +00:00
circle_shader.wgsl Add UI Materials (#9506) 2023-11-03 22:33:01 +00:00
cubemap_unlit.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
custom_gltf_2d.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
custom_material.frag improve shader import model (#5703) 2023-06-27 00:29:22 +00:00
custom_material.vert fix shader_material_glsl example (#9513) 2023-08-21 07:58:21 +00:00
custom_material.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
custom_material_import.wgsl fix custom shader imports (#10030) 2023-10-06 01:34:57 +00:00
custom_material_screenspace_texture.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
custom_vertex_attribute.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
extended_material.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
fallback_image_test.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
game_of_life.wgsl Use a single line for of large binding lists (#9849) 2023-09-19 22:17:44 +00:00
instancing.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
line_material.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
post_processing.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
shader_defs.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
show_prepass.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
texture_binding_array.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
tonemapping_test_patterns.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00