From 76bd471b9b2e4bd9a9e9362e6c33beee07eff066 Mon Sep 17 00:00:00 2001 From: Brett Laptop Date: Wed, 27 Dec 2023 01:10:53 -0500 Subject: [PATCH] need to think about VAOs --- include/blt/gfx/model.h | 40 ++++++++++++++++++++++++++++++++++++++++ include/blt/gfx/shader.h | 2 +- src/blt/gfx/model.cpp | 23 +++++++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 include/blt/gfx/model.h create mode 100644 src/blt/gfx/model.cpp diff --git a/include/blt/gfx/model.h b/include/blt/gfx/model.h new file mode 100644 index 0000000..96db136 --- /dev/null +++ b/include/blt/gfx/model.h @@ -0,0 +1,40 @@ +/* + * + * Copyright (C) 2023 Brett Terpstra + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef BLT_WITH_GRAPHICS_MODEL_H +#define BLT_WITH_GRAPHICS_MODEL_H + +#include +#include +#include + +namespace blt::gfx +{ + class model_data + { + public: + private: + std::vector vertices; + std::vector uvs; + std::vector normals; + }; + + +} + +#endif //BLT_WITH_GRAPHICS_MODEL_H diff --git a/include/blt/gfx/shader.h b/include/blt/gfx/shader.h index ed3368a..11fac50 100644 --- a/include/blt/gfx/shader.h +++ b/include/blt/gfx/shader.h @@ -34,7 +34,7 @@ namespace blt::gfx size_t size_; GLuint location_; public: - uniform_buffer(size_t size, GLuint location = 0); + explicit uniform_buffer(size_t size, GLuint location = 0); uniform_buffer(void* data, size_t size, GLuint location = 0); /** diff --git a/src/blt/gfx/model.cpp b/src/blt/gfx/model.cpp new file mode 100644 index 0000000..86da900 --- /dev/null +++ b/src/blt/gfx/model.cpp @@ -0,0 +1,23 @@ +/* + * + * Copyright (C) 2023 Brett Terpstra + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include + +blt::gfx::vertex_array::vertex_array() +{ + glGenVertexArrays(1, &vaoID); +}