summaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
Diffstat (limited to 'crates')
-rw-r--r--crates/teleia/src/assets/shaders/bitmap/frag.glsl4
-rw-r--r--crates/teleia/src/assets/shaders/bitmap/vert.glsl4
-rw-r--r--crates/teleia/src/assets/shaders/uber/frag.glsl4
-rw-r--r--crates/teleia/src/assets/shaders/uber/vert.glsl4
-rw-r--r--crates/teleia/src/font.rs10
-rw-r--r--crates/teleia/src/renderer.rs6
6 files changed, 16 insertions, 16 deletions
diff --git a/crates/teleia/src/assets/shaders/bitmap/frag.glsl b/crates/teleia/src/assets/shaders/bitmap/frag.glsl
index b79e8d0..abb4e96 100644
--- a/crates/teleia/src/assets/shaders/bitmap/frag.glsl
+++ b/crates/teleia/src/assets/shaders/bitmap/frag.glsl
@@ -5,7 +5,7 @@ uniform sampler2D texture_data;
uniform vec4 background;
in vec2 vertex_texcoord;
-in vec3 vertex_color;
+in vec4 vertex_color;
out vec4 frag_color;
void main() {
@@ -17,6 +17,6 @@ void main() {
frag_color = background;
return;
}
- texel.rgb = vertex_color;
+ texel = vertex_color;
frag_color = texel;
}
diff --git a/crates/teleia/src/assets/shaders/bitmap/vert.glsl b/crates/teleia/src/assets/shaders/bitmap/vert.glsl
index 6a9870a..126bc81 100644
--- a/crates/teleia/src/assets/shaders/bitmap/vert.glsl
+++ b/crates/teleia/src/assets/shaders/bitmap/vert.glsl
@@ -3,14 +3,14 @@ precision highp float;
in vec3 vertex;
in vec2 texcoord;
-in vec3 color;
+in vec4 color;
uniform mat4 view;
uniform mat4 position;
uniform mat4 projection;
out vec2 vertex_texcoord;
-out vec3 vertex_color;
+out vec4 vertex_color;
void main() {
vertex_texcoord = texcoord;
diff --git a/crates/teleia/src/assets/shaders/uber/frag.glsl b/crates/teleia/src/assets/shaders/uber/frag.glsl
index 639ad59..467872c 100644
--- a/crates/teleia/src/assets/shaders/uber/frag.glsl
+++ b/crates/teleia/src/assets/shaders/uber/frag.glsl
@@ -34,7 +34,7 @@ uniform float hue_scale;
uniform float opacity;
// flag(VERTEX_COLOR)
-in vec3 vertex_color;
+in vec4 vertex_color;
// flag(SPRITE)
uniform vec2 sprite_offset;
@@ -208,7 +208,7 @@ void main() {
discard;
}
if (flag(VERTEX_COLOR)) {
- frag_color.rgb = vertex_color;
+ frag_color = vertex_color;
}
if (flag(OPACITY)) {
frag_color.a *= opacity;
diff --git a/crates/teleia/src/assets/shaders/uber/vert.glsl b/crates/teleia/src/assets/shaders/uber/vert.glsl
index 8b4ef21..6de65aa 100644
--- a/crates/teleia/src/assets/shaders/uber/vert.glsl
+++ b/crates/teleia/src/assets/shaders/uber/vert.glsl
@@ -3,7 +3,7 @@ uniform highp int flags;
in vec3 vertex;
in vec3 normal;
in vec2 texcoord;
-in vec3 color;
+in vec4 color;
uniform mat4 view;
uniform mat4 position;
@@ -15,7 +15,7 @@ uniform vec3 offset;
uniform float yskew;
out vec2 vertex_texcoord;
-out vec3 vertex_color;
+out vec4 vertex_color;
out vec3 vertex_normal;
out vec3 vertex_fragpos;
out vec4 vertex_fragpos_shadow_dir;
diff --git a/crates/teleia/src/font.rs b/crates/teleia/src/font.rs
index 822705c..d97e96c 100644
--- a/crates/teleia/src/font.rs
+++ b/crates/teleia/src/font.rs
@@ -2,7 +2,7 @@ use crate::{context, mesh, state, texture};
use glow::HasContext;
pub struct BitmapParams<'color> {
- pub color: &'color [glam::Vec3],
+ pub color: &'color [glam::Vec4],
pub scale: glam::Vec2,
pub offset: glam::Vec2,
}
@@ -49,7 +49,7 @@ impl Bitmap {
ctx.gl.enable_vertex_attrib_array(mesh::ATTRIB_TEXCOORD);
let colors_buf = ctx.gl.create_buffer().expect("failed to create buffer object");
ctx.gl.bind_buffer(glow::ARRAY_BUFFER, Some(colors_buf));
- ctx.gl.vertex_attrib_pointer_f32(mesh::ATTRIB_COLOR, 3, glow::FLOAT, false, 0, 0);
+ ctx.gl.vertex_attrib_pointer_f32(mesh::ATTRIB_COLOR, 4, glow::FLOAT, false, 0, 0);
ctx.gl.enable_vertex_attrib_array(mesh::ATTRIB_COLOR);
let index_buf = ctx.gl.create_buffer().expect("failed to create buffer object");
ctx.gl.bind_buffer(glow::ELEMENT_ARRAY_BUFFER, Some(index_buf));
@@ -109,7 +109,7 @@ impl Bitmap {
let c = if let Some(c) = params.color.get(if params.color.is_empty() { 0 } else { i % params.color.len() }) {
*c
} else {
- glam::Vec3::new(1.0, 1.0, 1.0)
+ glam::Vec4::new(1.0, 1.0, 1.0, 1.0)
};
colors.push(c); colors.push(c); colors.push(c); colors.push(c);
indices.push(idx); indices.push(idx + 1); indices.push(idx + 2);
@@ -144,7 +144,7 @@ impl Bitmap {
glow::ARRAY_BUFFER,
std::slice::from_raw_parts(
colors.as_ptr() as _,
- colors.len() * std::mem::size_of::<f32>() * 3,
+ colors.len() * std::mem::size_of::<f32>() * 4,
),
glow::STATIC_DRAW,
);
@@ -160,7 +160,7 @@ impl Bitmap {
pub fn render_text_helper(&self,
ctx: &context::Context, st: &state::State,
- text: &str, color: &[glam::Vec3]
+ text: &str, color: &[glam::Vec4]
) {
self.render_text_parameterized(
ctx, st,
diff --git a/crates/teleia/src/renderer.rs b/crates/teleia/src/renderer.rs
index 299baf2..7384f0d 100644
--- a/crates/teleia/src/renderer.rs
+++ b/crates/teleia/src/renderer.rs
@@ -179,7 +179,7 @@ pub struct RenderTextScreen<'c, 's, 'r, 'str, 'f, A: Assets> {
pos: glam::Vec2,
font: Option<&'f font::Bitmap>,
centered: bool,
- col: Option<glam::Vec3>,
+ col: Option<glam::Vec4>,
scale: Option<glam::Vec2>,
offset: Option<glam::Vec2>,
}
@@ -200,7 +200,7 @@ impl<'c, 's, 'r, 'str, 'f, A: Assets> RenderTextScreen<'c, 's, 'r, 'str, 'f, A>
self.pos + glam::Vec2::new(-dims.x / 2.0, dims.y / 2.0)
};
self.renderer.set_position_2d(self.ctx, self.st, fpos, dims);
- let color: &[glam::Vec3] = if let Some(col) = self.col { &[col] } else { &[] };
+ let color: &[glam::Vec4] = if let Some(col) = self.col { &[col] } else { &[] };
font.render_text_parameterized(self.ctx, self.st, self.text, font::BitmapParams {
color,
scale: if let Some(scale) = self.scale { scale } else { glam::Vec2::ONE },
@@ -209,7 +209,7 @@ impl<'c, 's, 'r, 'str, 'f, A: Assets> RenderTextScreen<'c, 's, 'r, 'str, 'f, A>
}
pub fn font(mut self, font: &'f font::Bitmap) -> Self { self.font = Some(font); self }
pub fn centered(mut self) -> Self { self.centered = true; self }
- pub fn color(mut self, col: glam::Vec3) -> Self { self.col = Some(col); self }
+ pub fn color(mut self, col: glam::Vec4) -> Self { self.col = Some(col); self }
pub fn scale(mut self, scale: glam::Vec2) -> Self { self.scale = Some(scale); self }
pub fn offset(mut self, offset: glam::Vec2) -> Self { self.offset = Some(offset); self }
}