Доработка метода рендера
This commit is contained in:
parent
b5572c5de0
commit
0511c6ca1e
|
@ -24,7 +24,7 @@ class Scene
|
|||
Scene(const Scene ©); // Конструктор копирования
|
||||
Scene& operator=(const Scene& other); // Оператор присваивания
|
||||
|
||||
void render(ShaderProgram &shaderProgram, UBO &material_buffer); // Рендер сцены
|
||||
void render(ShaderProgram &shaderProgram, UBO &material_buffer, bool recalc_animations = false); // Рендер сцены
|
||||
|
||||
void set_group_id(GLuint64 id, GLuint etc = 0); // Изменение флага записи идентификатора для всех моделей
|
||||
|
||||
|
|
|
@ -30,9 +30,16 @@ Scene& Scene::operator=(const Scene& other)
|
|||
}
|
||||
|
||||
// Рендер сцены
|
||||
void Scene::render(ShaderProgram &shaderProgram, UBO &material_buffer)
|
||||
void Scene::render(ShaderProgram &shaderProgram, UBO &material_buffer, bool recalc_animations)
|
||||
{
|
||||
for (auto & model : models)
|
||||
// Если требуется пересчитаем анимации
|
||||
if (recalc_animations)
|
||||
for (auto & animation : animations)
|
||||
if (animation.isEnabled())
|
||||
animation.process();
|
||||
|
||||
// Рендер моделей
|
||||
for (auto & model : models)
|
||||
model.render(shaderProgram, material_buffer);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue