diff options
author | HampusM <hampus@hampusmat.com> | 2023-10-12 21:29:36 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2023-10-12 21:29:36 +0200 |
commit | 341826e9a2b89713fc47ffbc914d18e23c7d9287 (patch) | |
tree | b92b85bd85690d3e6475eac7e8c254700865bded /engine/src/renderer/mod.rs | |
parent | a4d66f8272c08c722a0a3fa6843ccf61e05d2928 (diff) |
feat(engine): add vertex coloring
Diffstat (limited to 'engine/src/renderer/mod.rs')
-rw-r--r-- | engine/src/renderer/mod.rs | 35 |
1 files changed, 4 insertions, 31 deletions
diff --git a/engine/src/renderer/mod.rs b/engine/src/renderer/mod.rs index 13091fd..bbcb5e9 100644 --- a/engine/src/renderer/mod.rs +++ b/engine/src/renderer/mod.rs @@ -1,13 +1,12 @@ -use std::ffi::{c_float, c_void, CString}; -use std::mem::size_of; +use std::ffi::{c_void, CString}; use std::process::abort; -use std::ptr::null; use glfw::WindowSize; use crate::renderer::vertex_array::{PrimitiveKind, VertexArray}; use crate::renderer::vertex_buffers::{BufferUsage, VertexBuffers}; use crate::vector::Vec2; +use crate::vertex::Vertex; mod vertex_array; mod vertex_buffers; @@ -62,7 +61,7 @@ pub struct Renderable impl Renderable { - pub fn new(shader_program: crate::shader::Program, vertices: &[f32]) -> Self + pub fn new(shader_program: crate::shader::Program, vertices: &[Vertex]) -> Self { let vertex_arr = VertexArray::new(); @@ -74,8 +73,7 @@ impl Renderable .store(0, vertices, BufferUsage::Static) .unwrap(); - vertex_attrib_ptr(0); - enable_vertex_attrib_array(0); + VertexArray::configure_attrs(); Self { shader_program, @@ -105,28 +103,3 @@ pub enum Error #[error("Failed to get window size")] GetWindowSizeFailed(#[source] glfw::Error), } - -fn vertex_attrib_ptr(index: usize) -{ - let stride = 3 * size_of::<c_float>(); - - unsafe { - #[allow(clippy::cast_possible_wrap, clippy::cast_possible_truncation)] - gl::VertexAttribPointer( - index as gl::types::GLuint, - 3, - gl::FLOAT, - gl::FALSE, - stride as gl::types::GLsizei, - null(), - ); - } -} - -fn enable_vertex_attrib_array(index: usize) -{ - unsafe { - #[allow(clippy::cast_possible_truncation)] - gl::EnableVertexAttribArray(index as gl::types::GLuint); - } -} |