diff -r cd6704009eb9 -r 3c10f0e2fbe0 src/gl/partrenderer.cpp --- a/src/gl/partrenderer.cpp Thu Feb 06 23:41:20 2020 +0200 +++ b/src/gl/partrenderer.cpp Fri Feb 07 01:58:34 2020 +0200 @@ -92,6 +92,11 @@ this->renderScene(); } +static QVector3D vec3FromQColor(const QColor& color) +{ + return {(float)color.redF(), (float)color.greenF(), (float)color.blueF()}; +} + void PartRenderer::renderScene() { if (this->renderPreferences.lineAntiAliasing && this->renderPreferences.style != gl::RenderStyle::PickScene) @@ -117,6 +122,8 @@ glClearColor(0.0f, 0.0f, 0.0f, 1.0f); this->compiler->setUniform("useLighting", false); } + this->compiler->setUniform("selectedColor", vec3FromQColor(this->renderPreferences.selectedColor)); + this->compiler->setUniform("highlighted", this->highlighted.value); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); glEnable(GL_POLYGON_OFFSET_FILL); @@ -274,3 +281,8 @@ this->update(); } +void PartRenderer::setHighlight(ldraw::Id highlightedId) +{ + this->highlighted = highlightedId; +} +