use gfx::{self, *}; use crate::framework::context::Context; use crate::framework::error::GameResult; gfx_defines! { constant WaterShaderParams { resolution: [f32; 2] = "u_Resolution", frame_pos: [f32; 2] = "u_FramePos", t: f32 = "u_Tick", } } pub struct Shaders { //pub water_shader: Shader, pub water_shader_params: WaterShaderParams, } impl Shaders { pub fn new(ctx: &mut Context) -> GameResult { let water_shader_params = WaterShaderParams { t: 0.0, resolution: [0.0, 0.0], frame_pos: [0.0, 0.0], }; Ok(Shaders { /*water_shader: Shader::new( ctx, "/builtin/shaders/basic_es300.vert.glsl", "/builtin/shaders/water_es300.frag.glsl", water_shader_params, "WaterShaderParams", None, )?,*/ water_shader_params, }) } }