From bb2929df6b013fba82a866cc1dc14e842e94d0af Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 18 Apr 2026 16:26:27 +0200 Subject: feat(engine): add depth testing on/off to renderer draw props --- engine/src/renderer.rs | 17 ++++++++++++++++- engine/src/renderer/opengl.rs | 10 ++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'engine/src') diff --git a/engine/src/renderer.rs b/engine/src/renderer.rs index 1a77f9e..3b6bdf0 100644 --- a/engine/src/renderer.rs +++ b/engine/src/renderer.rs @@ -215,13 +215,27 @@ pub enum MeshUsage Dynamic, } -#[derive(Debug, Default, Clone, PartialEq, Eq)] +#[derive(Debug, Clone, PartialEq, Eq)] #[non_exhaustive] pub struct DrawProperties { pub polygon_mode_config: PolygonModeConfig, pub blending_enabled: bool, pub blending_config: BlendingConfig, + pub depth_test_enabled: bool, +} + +impl Default for DrawProperties +{ + fn default() -> Self + { + Self { + polygon_mode_config: PolygonModeConfig::default(), + blending_enabled: false, + blending_config: BlendingConfig::default(), + depth_test_enabled: true, + } + } } bitflags! { @@ -231,6 +245,7 @@ bitflags! { const POLYGON_MODE_CONFIG = 1 << 0; const BLENDING_CONFIG = 1 << 1; const BLENDING_ENABLED = 1 << 2; + const DEPTH_TEST_ENABLED = 1 << 3; } } diff --git a/engine/src/renderer/opengl.rs b/engine/src/renderer/opengl.rs index c4d335c..df57b84 100644 --- a/engine/src/renderer/opengl.rs +++ b/engine/src/renderer/opengl.rs @@ -1193,6 +1193,16 @@ fn handle_commands( )), ); } + + if draw_props_update_flags + .contains(DrawPropertiesUpdateFlags::DEPTH_TEST_ENABLED) + { + set_enabled( + curr_gl_ctx, + Capability::DepthTest, + draw_props.depth_test_enabled, + ); + } } } } -- cgit v1.2.3-18-g5258