summaryrefslogtreecommitdiff
path: root/src/common/overlay/throwshade.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/overlay/throwshade.rs')
-rw-r--r--src/common/overlay/throwshade.rs16
1 files changed, 13 insertions, 3 deletions
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<shader::Shader>,
}
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(())
}
}