Вспомогательный метод render
This commit is contained in:
parent
07f712005e
commit
5bae25e451
|
@ -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); // Загрузка вершин в буфер
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
// Функция для конфигурации атрибута вершинного буфера
|
||||
|
|
Loading…
Reference in New Issue