diff options
| author | 2022-10-18 15:18:37 -0700 | |
|---|---|---|
| committer | 2022-10-18 15:18:37 -0700 | |
| commit | c4565759e4294540f54a81e4d91ddea7a769d3d4 (patch) | |
| tree | d326dca32fb327b81ef67fae565b88f386431792 /glow | |
| parent | bb8d46a3fdf925b4b2fa9e7db76e48caf020b212 (diff) | |
| download | iced-c4565759e4294540f54a81e4d91ddea7a769d3d4.tar.gz iced-c4565759e4294540f54a81e4d91ddea7a769d3d4.tar.bz2 iced-c4565759e4294540f54a81e4d91ddea7a769d3d4.zip  | |
Cleaned up namespaces re: PR comments.
Diffstat (limited to 'glow')
| -rw-r--r-- | glow/src/triangle.rs | 22 | ||||
| -rw-r--r-- | glow/src/triangle/gradient.rs | 27 | ||||
| -rw-r--r-- | glow/src/triangle/solid.rs | 23 | 
3 files changed, 36 insertions, 36 deletions
diff --git a/glow/src/triangle.rs b/glow/src/triangle.rs index f7fe9235..fff14910 100644 --- a/glow/src/triangle.rs +++ b/glow/src/triangle.rs @@ -4,11 +4,9 @@ mod solid;  use crate::{program, Transformation};  use glow::HasContext; -use iced_graphics::layer::{mesh, mesh::attribute_count_of, Mesh}; +use iced_graphics::layer::{mesh, Mesh};  use std::marker::PhantomData; -use crate::triangle::gradient::GradientProgram; -use crate::triangle::solid::SolidProgram;  pub use iced_graphics::triangle::{Mesh2D, Vertex2D};  #[derive(Debug)] @@ -16,13 +14,13 @@ pub(crate) struct Pipeline {      vertex_array: <glow::Context as HasContext>::VertexArray,      vertices: Buffer<Vertex2D>,      indices: Buffer<u32>, -    programs: TrianglePrograms, +    programs: ProgramList,  }  #[derive(Debug)] -struct TrianglePrograms { -    solid: SolidProgram, -    gradient: GradientProgram, +struct ProgramList { +    solid: solid::Program, +    gradient: gradient::Program,  }  impl Pipeline { @@ -65,9 +63,9 @@ impl Pipeline {              vertex_array,              vertices,              indices, -            programs: TrianglePrograms { -                solid: SolidProgram::new(gl, shader_version), -                gradient: GradientProgram::new(gl, shader_version), +            programs: ProgramList { +                solid: solid::Program::new(gl, shader_version), +                gradient: gradient::Program::new(gl, shader_version),              },          }      } @@ -87,7 +85,7 @@ impl Pipeline {          }          //count the total amount of vertices & indices we need to handle -        let (total_vertices, total_indices) = attribute_count_of(meshes); +        let (total_vertices, total_indices) = mesh::attribute_count_of(meshes);          // Then we ensure the current attribute buffers are big enough, resizing if necessary          unsafe { @@ -171,7 +169,7 @@ impl Pipeline {  /// A simple shader program. Uses [`triangle.vert`] for its vertex shader and only binds position  /// attribute location. -pub(super) fn simple_triangle_program( +pub(super) fn program(      gl: &glow::Context,      shader_version: &program::Version,      fragment_shader: &'static str, diff --git a/glow/src/triangle/gradient.rs b/glow/src/triangle/gradient.rs index a8bb5ec5..6bca44ee 100644 --- a/glow/src/triangle/gradient.rs +++ b/glow/src/triangle/gradient.rs @@ -1,25 +1,25 @@  use crate::program::Version; -use crate::triangle::{set_transform, simple_triangle_program}; +use crate::triangle;  use glow::{Context, HasContext, NativeProgram};  use iced_graphics::gradient::Gradient;  use iced_graphics::gradient::Linear;  use iced_graphics::Transformation;  #[derive(Debug)] -pub struct GradientProgram { +pub struct Program {      pub program: <Context as HasContext>::Program, -    pub uniform_data: GradientUniformData, +    pub uniform_data: UniformData,  }  #[derive(Debug)] -pub struct GradientUniformData { +pub struct UniformData {      gradient: Gradient,      transform: Transformation, -    uniform_locations: GradientUniformLocations, +    uniform_locations: UniformLocations,  }  #[derive(Debug)] -struct GradientUniformLocations { +struct UniformLocations {      gradient_direction_location: <Context as HasContext>::UniformLocation,      color_stops_size_location: <Context as HasContext>::UniformLocation,      //currently the maximum number of stops is 16 due to lack of SSBO in GL2.1 @@ -27,9 +27,9 @@ struct GradientUniformLocations {      transform_location: <Context as HasContext>::UniformLocation,  } -impl GradientProgram { +impl Program {      pub fn new(gl: &Context, shader_version: &Version) -> Self { -        let program = simple_triangle_program( +        let program = triangle::program(              gl,              shader_version,              include_str!("../shader/common/gradient.frag"), @@ -37,7 +37,7 @@ impl GradientProgram {          Self {              program, -            uniform_data: GradientUniformData::new(gl, program), +            uniform_data: UniformData::new(gl, program),          }      } @@ -48,7 +48,7 @@ impl GradientProgram {          transform: &Transformation,      ) {          if transform != &self.uniform_data.transform { -            set_transform( +            triangle::set_transform(                  gl,                  self.uniform_data.uniform_locations.transform_location,                  *transform, @@ -117,12 +117,11 @@ impl GradientProgram {          transform: &Transformation,      ) {          unsafe { gl.use_program(Some(self.program)) } -          self.write_uniforms(gl, gradient, transform);      }  } -impl GradientUniformData { +impl UniformData {      fn new(gl: &Context, program: NativeProgram) -> Self {          let gradient_direction_location =              unsafe { gl.get_uniform_location(program, "gradient_direction") } @@ -141,14 +140,14 @@ impl GradientUniformData {              unsafe { gl.get_uniform_location(program, "u_Transform") }                  .expect("Gradient - Get u_Transform."); -        GradientUniformData { +        Self {              gradient: Gradient::Linear(Linear {                  start: Default::default(),                  end: Default::default(),                  color_stops: vec![],              }),              transform: Transformation::identity(), -            uniform_locations: GradientUniformLocations { +            uniform_locations: UniformLocations {                  gradient_direction_location,                  color_stops_size_location,                  color_stops_location, diff --git a/glow/src/triangle/solid.rs b/glow/src/triangle/solid.rs index 5ba7f91c..311e3704 100644 --- a/glow/src/triangle/solid.rs +++ b/glow/src/triangle/solid.rs @@ -1,24 +1,23 @@  use crate::program::Version; -use crate::triangle::{set_transform, simple_triangle_program}; -use crate::Color; +use crate::{triangle, Color};  use glow::{Context, HasContext, NativeProgram};  use iced_graphics::Transformation;  #[derive(Debug)] -pub struct SolidProgram { +pub struct Program {      program: <Context as HasContext>::Program, -    uniform_data: SolidUniformData, +    uniform_data: UniformData,  }  #[derive(Debug)] -struct SolidUniformData { +struct UniformData {      pub color: Color,      pub color_location: <Context as HasContext>::UniformLocation,      pub transform: Transformation,      pub transform_location: <Context as HasContext>::UniformLocation,  } -impl SolidUniformData { +impl UniformData {      fn new(gl: &Context, program: NativeProgram) -> Self {          Self {              color: Color::TRANSPARENT, @@ -35,9 +34,9 @@ impl SolidUniformData {      }  } -impl SolidProgram { +impl Program {      pub fn new(gl: &Context, shader_version: &Version) -> Self { -        let program = simple_triangle_program( +        let program = triangle::program(              gl,              shader_version,              include_str!("../shader/common/triangle.frag"), @@ -45,7 +44,7 @@ impl SolidProgram {          Self {              program, -            uniform_data: SolidUniformData::new(gl, program), +            uniform_data: UniformData::new(gl, program),          }      } @@ -56,7 +55,11 @@ impl SolidProgram {          transform: &Transformation,      ) {          if transform != &self.uniform_data.transform { -            set_transform(gl, self.uniform_data.transform_location, *transform) +            triangle::set_transform( +                gl, +                self.uniform_data.transform_location, +                *transform, +            )          }          if color != &self.uniform_data.color {  | 
