summaryrefslogtreecommitdiffstats
path: root/glow
diff options
context:
space:
mode:
authorLibravatar bungoboingo <shankern@protonmail.com>2022-10-18 15:18:37 -0700
committerLibravatar bungoboingo <shankern@protonmail.com>2022-10-18 15:18:37 -0700
commitc4565759e4294540f54a81e4d91ddea7a769d3d4 (patch)
treed326dca32fb327b81ef67fae565b88f386431792 /glow
parentbb8d46a3fdf925b4b2fa9e7db76e48caf020b212 (diff)
downloadiced-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.rs22
-rw-r--r--glow/src/triangle/gradient.rs27
-rw-r--r--glow/src/triangle/solid.rs23
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 {