From 5cb923fe13818192ad75d8b62899671d72cacb18 Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 7 Sep 2026 00:22:57 +0200 Subject: feat(opengl-bindings): add fn to set face culling mode --- opengl-bindings/Cargo.toml | 1 + opengl-bindings/src/misc.rs | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/opengl-bindings/Cargo.toml b/opengl-bindings/Cargo.toml index ca8a400..f2f57a7 100644 --- a/opengl-bindings/Cargo.toml +++ b/opengl-bindings/Cargo.toml @@ -78,4 +78,5 @@ gl_commands = [ "BindFramebuffer", "NamedFramebufferDrawBuffer", "NamedFramebufferReadBuffer", + "CullFace" ] diff --git a/opengl-bindings/src/misc.rs b/opengl-bindings/src/misc.rs index a0d36e3..60fc510 100644 --- a/opengl-bindings/src/misc.rs +++ b/opengl-bindings/src/misc.rs @@ -101,6 +101,14 @@ pub fn set_polygon_mode( } } +pub fn set_face_culling_mode( + current_context: &MaybeCurrentContextWithFns, + face_culling_mode: FaceCullingMode, +) +{ + unsafe { current_context.fns().CullFace(face_culling_mode as u32) } +} + pub fn enable(current_context: &MaybeCurrentContextWithFns, capacity: Capability) { unsafe { @@ -220,6 +228,18 @@ pub enum PolygonModeFace FrontAndBack = crate::sys::FRONT_AND_BACK, } +#[derive(Debug, Default)] +#[repr(u32)] +pub enum FaceCullingMode +{ + Front = crate::sys::FRONT, + + #[default] + Back = crate::sys::BACK, + + FrontAndBack = crate::sys::FRONT_AND_BACK, +} + bitflags! { #[derive(Debug, Clone, Copy)] pub struct ContextFlags: u32 { -- cgit v1.2.3-18-g5258