Рисование сферы области действия источника
This commit is contained in:
parent
6d091e022d
commit
4785a46cca
|
@ -181,17 +181,24 @@ void Light::render(ShaderProgram &shaderProgram, UBO &material_buffer)
|
||||||
{
|
{
|
||||||
// Загрузка модели лампочки при первом вызове функции
|
// Загрузка модели лампочки при первом вызове функции
|
||||||
static Scene bulb = loadOBJtoScene("../resources/models/bulb.obj", "../resources/models/", "../resources/textures/");
|
static Scene bulb = loadOBJtoScene("../resources/models/bulb.obj", "../resources/models/", "../resources/textures/");
|
||||||
|
static Model sphere = genShpere(1, 16, &bulb.root);
|
||||||
|
|
||||||
// Цикл по источникам света
|
// Цикл по источникам света
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
// Сдвиг на позицию источника
|
// Сдвиг на позицию источника
|
||||||
bulb.root.e_position() = data[i].position;
|
bulb.root.e_position() = data[i].position;
|
||||||
|
sphere.e_scale() = glm::vec3(data[i].attenuation.r); // Масштабирование сферы
|
||||||
// Задание цвета
|
// Задание цвета
|
||||||
bulb.models.begin()->material.ka = data[i].color;
|
bulb.models.begin()->material.ka = sphere.material.ka = data[i].color;
|
||||||
|
|
||||||
// Вызов отрисовки
|
// Вызов отрисовки
|
||||||
bulb.render(shaderProgram, material_buffer);
|
bulb.render(shaderProgram, material_buffer);
|
||||||
|
|
||||||
|
// Рисование сферы покрытия источника в режиме линий
|
||||||
|
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||||
|
sphere.render(shaderProgram, material_buffer);
|
||||||
|
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue