diff options
| -rw-r--r-- | opengl-bindings/Cargo.toml | 1 | ||||
| -rw-r--r-- | opengl-bindings/src/misc.rs | 20 |
2 files changed, 21 insertions, 0 deletions
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 { |
