From f2d6e8ac38e8ade9bebc355f4c0e97760f6f1649 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Sun, 16 Feb 2025 01:53:39 -0500 Subject: Throwing shade --- src/common/overlay/throwshade.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/common/overlay/throwshade.rs') diff --git a/src/common/overlay/throwshade.rs b/src/common/overlay/throwshade.rs index d7ac430..c6b8f2e 100644 --- a/src/common/overlay/throwshade.rs +++ b/src/common/overlay/throwshade.rs @@ -4,20 +4,30 @@ const VERT: &'static str = include_str!("assets/shaders/throwshade/vert.glsl"); const FRAG: &'static str = include_str!("assets/shaders/throwshade/frag.glsl"); pub struct ThrowShade { + pub tickset: u64, + pub timeset: f64, pub shader: Option, } impl ThrowShade { pub fn new() -> Self { Self { + tickset: 0, + timeset: 0.0, shader: None, } } - pub fn set(&mut self, ctx: &context::Context, src: &str) { + pub fn set(&mut self, ctx: &context::Context, st: &state::State, src: &str) -> Result<(), String> { let fsrc = format!("{}\n{}\n", FRAG, src); + self.tickset = st.tick; + if let Ok(dur) = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH) { + self.timeset = dur.as_secs_f64(); + log::info!("the time: {}", self.timeset); + } if let Some(s) = &mut self.shader { - s.replace(ctx, VERT, &fsrc); + s.replace(ctx, VERT, &fsrc)?; } else { - self.shader = Some(shader::Shader::new_nolib(ctx, VERT, &fsrc)); + self.shader = Some(shader::Shader::new_helper(ctx, VERT, &fsrc)?); } + Ok(()) } } -- cgit v1.2.3