diff options
Diffstat (limited to 'src/common/overlay')
| -rw-r--r-- | src/common/overlay/assets/shaders/throwshade/frag.glsl | 15 | ||||
| -rw-r--r-- | src/common/overlay/throwshade.rs | 16 |
2 files changed, 27 insertions, 4 deletions
diff --git a/src/common/overlay/assets/shaders/throwshade/frag.glsl b/src/common/overlay/assets/shaders/throwshade/frag.glsl index 36f1023..2acc78d 100644 --- a/src/common/overlay/assets/shaders/throwshade/frag.glsl +++ b/src/common/overlay/assets/shaders/throwshade/frag.glsl @@ -4,10 +4,23 @@ precision highp float; in vec2 vertex_texcoord; out vec4 frag_color; +uniform vec2 resolution; + +uniform float time; + +uniform float bpm; + +uniform vec2 cursor; + +uniform float chat_time; +uniform float chat_biblicality; + vec4 shade(vec2); void main() { - frag_color = shade(vertex_texcoord); + vec2 inverted = vec2(vertex_texcoord.x, 1.0 - vertex_texcoord.y); + frag_color = shade(inverted); + frag_color.a = clamp(frag_color.a * 0.5, 0.0, 0.5); } // "The Cutoff" 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(()) } } |
