mirror of
https://github.com/bevyengine/bevy
synced 2024-12-19 17:43:07 +00:00
7ed1f327d9
This commit makes `StandardMaterial` use bindless textures, as implemented in PR #16368. Non-bindless mode, as used for example in Metal and WebGL 2, remains fully supported via a plethora of `#ifdef BINDLESS` preprocessor definitions. Unfortunately, this PR introduces quite a bit of unsightliness into the PBR shaders. This is a result of the fact that WGSL supports neither passing binding arrays to functions nor passing individual *elements* of binding arrays to functions, except directly to texture sample functions. Thus we're unable to use the `sample_texture` abstraction that helped abstract over the meshlet and non-meshlet paths. I don't think there's anything we can do to help this other than to suggest improvements to upstream Naga. |
||
---|---|---|
.. | ||
animate_shader.rs | ||
array_texture.rs | ||
automatic_instancing.rs | ||
compute_shader_game_of_life.rs | ||
custom_phase_item.rs | ||
custom_post_processing.rs | ||
custom_shader_instancing.rs | ||
custom_vertex_attribute.rs | ||
extended_material.rs | ||
fallback_image.rs | ||
gpu_readback.rs | ||
shader_defs.rs | ||
shader_material.rs | ||
shader_material_2d.rs | ||
shader_material_bindless.rs | ||
shader_material_glsl.rs | ||
shader_material_screenspace_texture.rs | ||
shader_prepass.rs | ||
specialized_mesh_pipeline.rs | ||
storage_buffer.rs | ||
texture_binding_array.rs |