diff options
author | HampusM <hampus@hampusmat.com> | 2023-10-13 23:32:00 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2023-10-13 23:32:00 +0200 |
commit | 12f48046b2606fc77a1312a6d5e5fc7ff9feff88 (patch) | |
tree | 644f4abd6785a5f0c066c7fbadcfc5e820a41ebf /engine/src/opengl/mod.rs | |
parent | cfa73b1ea42fa491ff9e00bb5efb5e5a5d860578 (diff) |
refactor(engine): move uses of OpenGL to OpenGL module
Diffstat (limited to 'engine/src/opengl/mod.rs')
-rw-r--r-- | engine/src/opengl/mod.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/engine/src/opengl/mod.rs b/engine/src/opengl/mod.rs new file mode 100644 index 0000000..a58e72e --- /dev/null +++ b/engine/src/opengl/mod.rs @@ -0,0 +1,38 @@ +use bitflags::bitflags; +use glfw::WindowSize; + +use crate::vector::Vec2; + +pub mod currently_bound; +pub mod shader; +pub mod vertex_array; +pub mod vertex_buffer; + +pub fn set_viewport(position: &Vec2<u32>, size: &WindowSize) +{ + unsafe { + #[allow(clippy::cast_possible_wrap)] + gl::Viewport( + position.x as i32, + position.y as i32, + size.width as i32, + size.height as i32, + ); + } +} + +pub fn clear_buffers(mask: BufferClearMask) +{ + unsafe { + gl::Clear(mask.bits()); + } +} + +bitflags! { + #[derive(Debug, Clone, Copy)] + pub struct BufferClearMask: u32 { + const COLOR = gl::COLOR_BUFFER_BIT; + const DEPTH = gl::DEPTH_BUFFER_BIT; + const STENCIL = gl::STENCIL_BUFFER_BIT; + } +} |