diff options
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; + } +} |