diff --git a/include/Model.h b/include/Model.h index e89218e..e51e2ae 100644 --- a/include/Model.h +++ b/include/Model.h @@ -71,6 +71,7 @@ class Model : public Node Model& operator=(const Model& other); // Оператор присваивания virtual ~Model(); + void render(); // Вызов отрисовки без uniform-данных void render(const GLuint &model_uniform, UBO &material_buffer); // Вызов отрисовки void load_verteces(glm::vec3* verteces, GLuint count); // Загрузка вершин в буфер diff --git a/src/Model.cpp b/src/Model.cpp index 79af549..988aab5 100644 --- a/src/Model.cpp +++ b/src/Model.cpp @@ -246,6 +246,22 @@ Model::~Model() } +// Вызов отрисовки без uniform-данных +void Model::render() +{ + // Подключаем VAO + vao.use(); + // Если есть индексы - рисуем с их использованием + if (indices_count) + { + index_vbo.use(); + glDrawElements(GL_TRIANGLES, indices_count, GL_UNSIGNED_INT, (void*)(first_index_byteOffset)); + } + // Если есть вершины - рисуем на основании массива вершин + else if (verteces_count) + glDrawArrays(GL_TRIANGLES, 0, verteces_count); +} + // Вызов отрисовки void Model::render(const GLuint &model_uniform, UBO &material_buffer) { @@ -261,17 +277,7 @@ void Model::render(const GLuint &model_uniform, UBO &material_buffer) // Загружаем данные о материале material_buffer.load(&material, sizeof(material)); - // Подключаем VAO - vao.use(); - // Если есть индексы - рисуем с их использованием - if (indices_count) - { - index_vbo.use(); - glDrawElements(GL_TRIANGLES, indices_count, GL_UNSIGNED_INT, (void*)(first_index_byteOffset)); - } - // Если есть вершины - рисуем на основании массива вершин - else if (verteces_count) - glDrawArrays(GL_TRIANGLES, 0, verteces_count); + render(); } // Функция для конфигурации атрибута вершинного буфера