change background when the light is on
This commit is contained in:
parent
9808cd03c0
commit
af94ecd541
|
@ -44,6 +44,8 @@ private:
|
||||||
float ambientCoefficient = 0.005f;
|
float ambientCoefficient = 0.005f;
|
||||||
} m_light;
|
} m_light;
|
||||||
|
|
||||||
|
QVector4D m_backgroundColor = {0.5f, 0.8f, 1.0f, 1.0f};
|
||||||
|
|
||||||
QOpenGLShaderProgram m_program;
|
QOpenGLShaderProgram m_program;
|
||||||
GeometryEngine *m_dataEngine;
|
GeometryEngine *m_dataEngine;
|
||||||
|
|
||||||
|
|
|
@ -188,6 +188,7 @@ void MainWindow::setFileInfo(QString name, QVector<Material>* materials, int ver
|
||||||
|
|
||||||
int count(0);
|
int count(0);
|
||||||
//TODO: mark not opened textures
|
//TODO: mark not opened textures
|
||||||
|
//TODO: add more information
|
||||||
for (auto& it : *materials)
|
for (auto& it : *materials)
|
||||||
{
|
{
|
||||||
m_fileInfo += "Material ";
|
m_fileInfo += "Material ";
|
||||||
|
|
|
@ -184,7 +184,7 @@ void OglViewerWidget::initializeGL()
|
||||||
{
|
{
|
||||||
initializeOpenGLFunctions();
|
initializeOpenGLFunctions();
|
||||||
|
|
||||||
glClearColor(0.5000f, 0.8000f, 1.0000f, 0.0000f);
|
//glClearColor(0.5000f, 0.8000f, 1.0000f, 0.0000f);
|
||||||
|
|
||||||
initShaders();
|
initShaders();
|
||||||
|
|
||||||
|
@ -222,6 +222,12 @@ void OglViewerWidget::paintGL()
|
||||||
// Clear color and depth buffer
|
// Clear color and depth buffer
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
if (m_backgroundColor[3] == 1.0)
|
||||||
|
{
|
||||||
|
glClearColor(m_backgroundColor[0], m_backgroundColor[1], m_backgroundColor[2], 0.0000f);
|
||||||
|
m_backgroundColor[3] = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
// Calculate model view transformation
|
// Calculate model view transformation
|
||||||
QMatrix4x4 view;
|
QMatrix4x4 view;
|
||||||
view.translate(m_translation);
|
view.translate(m_translation);
|
||||||
|
@ -330,13 +336,13 @@ void OglViewerWidget::toggleLight()
|
||||||
|
|
||||||
if (m_lightOn)
|
if (m_lightOn)
|
||||||
{
|
{
|
||||||
glClearColor(m_light.intensities.x() / 100, m_light.intensities.y() / 100, m_light.intensities.z() / 100, 0.0000f);
|
m_backgroundColor = { m_light.intensities.x() / 100, m_light.intensities.y() / 100, m_light.intensities.z() / 100, 1.0 };
|
||||||
|
|
||||||
updateLightPosition();
|
updateLightPosition();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
glClearColor(0.5000f, 0.8000f, 1.0000f, 0.0000f);
|
m_backgroundColor = { 0.5f, 0.8f, 1.0f, 1.0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
update();
|
update();
|
||||||
|
|
Loading…
Reference in New Issue