From 999e86224a2b85b8990defe663f95b98417f8238 Mon Sep 17 00:00:00 2001 From: Matthew Deville Date: Sun, 31 Aug 2025 15:32:27 +0200 Subject: [PATCH] remove autoload --- assets/shaders/default.wgsl | 13 +++++++++---- src/main.rs | 1 - src/material.rs | 28 +--------------------------- 3 files changed, 10 insertions(+), 32 deletions(-) diff --git a/assets/shaders/default.wgsl b/assets/shaders/default.wgsl index 2707870..dd6f1e5 100644 --- a/assets/shaders/default.wgsl +++ b/assets/shaders/default.wgsl @@ -5,9 +5,14 @@ @fragment fn fragment(mesh: VertexOutput) -> @location(0) vec4 { - let bottom = vec3(1.0, 0.8, 0.2); // warm - let top = vec3(0.2, 0.6, 1.0); // cool + var uv = mesh.uv * 2 - 1; + uv.x = uv.x * (u_resolution.x / u_resolution.y); - let color = mix(bottom, top, mesh.uv.y); - return vec4(color, 1.0); + let red = vec3(1, 0, 0); + let blue = vec3(0, 0, 1.0); + + let t = step(0.5, length(uv)); + + let color = mix(red, blue, t); + return vec4(color, 1); } diff --git a/src/main.rs b/src/main.rs index b171128..20f2cd4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,7 +17,6 @@ fn main() { Update, ( material::update_material_time, - material::shader_hot_reload, systems::resize_fullscreen_quad, systems::exit_app.run_if(input_just_pressed(KeyCode::Escape)), systems::toggle_fullscreen.run_if(input_just_pressed(KeyCode::F11)), diff --git a/src/material.rs b/src/material.rs index 5a1d694..b371441 100644 --- a/src/material.rs +++ b/src/material.rs @@ -1,8 +1,7 @@ use bevy::{ - asset::AssetEvent, prelude::*, reflect::TypePath, - render::render_resource::{AsBindGroup, Shader, ShaderRef}, + render::render_resource::{AsBindGroup, ShaderRef}, sprite::{AlphaMode2d, Material2d}, }; @@ -24,31 +23,6 @@ pub fn update_material_time(mut materials: ResMut>, time: } } -/// Listen for shader asset changes and force materials to update so the new shader is used. -pub fn shader_hot_reload( - mut shader_events: EventReader>, - mut materials: ResMut>, -) { - let mut reload_needed = false; - for event in shader_events.read() { - match event { - AssetEvent::Modified { .. } => { - reload_needed = true; - } - _ => {} - } - } - - if reload_needed { - // iterate all materials and 'touch' them so Bevy updates bindings using the recompiled shader - for (_handle, material) in materials.iter_mut() { - // assign to itself to mark changed - let cloned = material.clone(); - *material = cloned; - } - } -} - impl Material2d for CustomMaterial { fn fragment_shader() -> ShaderRef { DEFAULT_SHADER_PATH.into()