src/gl/partrenderer.cpp

changeset 48
3c10f0e2fbe0
parent 47
cd6704009eb9
child 51
1a9eac27698d
--- 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;
+}
+

mercurial