Compare commits

..

No commits in common. "master" and "v0.4" have entirely different histories.
master ... v0.4

3 changed files with 7 additions and 20 deletions

View File

@ -18,25 +18,16 @@ layout(std140, binding = 4) uniform gamma
float inv_gamma;
};
layout (location = 1) out vec3 gNormal;
layout (location = 3) out vec4 gAmbientSpecular;
layout (location = 4) out uvec3 gID;
out vec4 color;
uniform float angle;
uniform vec3 direction;
uniform uvec3 ID = uvec3(0);
void main()
{
float cosA = dot(normalize(pos_local), normalize(direction));
if (degrees(acos(cosA)) <= angle)
gAmbientSpecular.rgb = pow(ka, vec3(inv_gamma));
color = vec4(pow(ka, vec3(inv_gamma)), 1);
else
discard;
gNormal = vec3(0);
// Сохранение идентификатора объекта
gID = ID;
}

View File

@ -205,10 +205,6 @@ void Light::render(ShaderProgram &shaderProgram, UBO &material_buffer)
// Цикл по источникам света
for (int i = 0; i < count; i++)
{
// Идентификатор источника как узла сцены для всей модели лампочки
bulb.set_group_id((GLuint64) &lights[i]);
sphere.id.value = (GLuint64) &lights[i];
// Загрузим направление
glUniform3fv(direction_uniform, 1, &data[i].direction_angle.x);
// Угол для лампочки = 180 (рисуем целую модель)
@ -376,4 +372,4 @@ void Light::recalcVP()
int Light::getCount()
{
return count;
}
}

View File

@ -469,10 +469,6 @@ int main(void)
scene.render(gShader, material_data);
rectangle.render(gShader, material_data);
// Отрисовка отладочных лампочек со специальным шейдером
bulbShader.use();
Light::render(bulbShader, material_data);
// Используем шейдер для инструментов
toolsShader.use();
// Рендерим инструменты для выбранного объекта
@ -582,6 +578,10 @@ int main(void)
// Возвращаем запись глубины
glDepthMask(GL_TRUE);
// Отрисовка отладочных лампочек со специальным шейдером
bulbShader.use();
Light::render(bulbShader, material_data);
// Дополнительная обработка мыши
process_mouse_button(mouse.left);
process_mouse_button(mouse.right);