summaryrefslogtreecommitdiff
path: root/src/texture.rs
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2024-04-13 20:34:28 -0400
committerLLLL Colonq <llll@colonq>2024-04-13 20:34:28 -0400
commitf0b945d378a157a780f56b1fc015b7937e151852 (patch)
tree3caddd259ad14a225cd3984726b3d44bac8b6d4a /src/texture.rs
parent17eb85df48b64dd9d391cad28f58355e05ed2855 (diff)
Bugfixes, texture filtering
Diffstat (limited to 'src/texture.rs')
-rw-r--r--src/texture.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/texture.rs b/src/texture.rs
index 2da2247..6e46d58 100644
--- a/src/texture.rs
+++ b/src/texture.rs
@@ -42,11 +42,14 @@ impl Texture {
}
}
- pub fn set_linear_filtering(&self, ctx: &context::Context) {
+ pub fn set_anisotropic_filtering(&self, ctx: &context::Context) {
unsafe {
ctx.gl.bind_texture(glow::TEXTURE_2D, Some(self.tex));
- ctx.gl.tex_parameter_i32(glow::TEXTURE_2D, glow::TEXTURE_MIN_FILTER, glow::NEAREST_MIPMAP_NEAREST as i32);
- ctx.gl.tex_parameter_i32(glow::TEXTURE_2D, glow::TEXTURE_MAG_FILTER, glow::NEAREST_MIPMAP_NEAREST as i32);
+ ctx.gl.tex_parameter_i32(glow::TEXTURE_2D, glow::TEXTURE_WRAP_S, glow::REPEAT as i32);
+ ctx.gl.tex_parameter_i32(glow::TEXTURE_2D, glow::TEXTURE_WRAP_T, glow::REPEAT as i32);
+ ctx.gl.tex_parameter_i32(glow::TEXTURE_2D, glow::TEXTURE_MIN_FILTER, glow::LINEAR_MIPMAP_LINEAR as i32);
+ ctx.gl.tex_parameter_i32(glow::TEXTURE_2D, glow::TEXTURE_MAG_FILTER, glow::LINEAR as i32);
+ ctx.gl.tex_parameter_f32(glow::TEXTURE_2D, glow::TEXTURE_MAX_ANISOTROPY_EXT, 4.0);
}
}
@@ -56,4 +59,11 @@ impl Texture {
ctx.gl.bind_texture(glow::TEXTURE_2D, Some(self.tex));
}
}
+
+ pub fn bind_normal(&self, ctx: &context::Context) {
+ unsafe {
+ ctx.gl.active_texture(glow::TEXTURE1);
+ ctx.gl.bind_texture(glow::TEXTURE_2D, Some(self.tex));
+ }
+ }
}