summaryrefslogtreecommitdiff
path: root/engine/src/opengl/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/opengl/mod.rs')
-rw-r--r--engine/src/opengl/mod.rs38
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;
+ }
+}