From 724b18fb512cbff431b634578a087fb65f3662d0 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Fri, 2 Jun 2017 14:20:09 +0200 Subject: [PATCH] Fix color in shader and spheres color depends on the in_dimension of the associated vertex. --- Polyhedron/demo/Polyhedron/Scene_c3t3_item.cpp | 13 ++++++++++++- Polyhedron/demo/Polyhedron/resources/shader_c3t3.f | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Polyhedron/demo/Polyhedron/Scene_c3t3_item.cpp b/Polyhedron/demo/Polyhedron/Scene_c3t3_item.cpp index 08a63e2bf8d..8d40e71e67b 100644 --- a/Polyhedron/demo/Polyhedron/Scene_c3t3_item.cpp +++ b/Polyhedron/demo/Polyhedron/Scene_c3t3_item.cpp @@ -1497,7 +1497,18 @@ void Scene_c3t3_item_priv::computeSpheres() if(red) c = QColor(Qt::red); else - c = spheres->color().darker(250); + c = QColor::fromHsv(120, 200,200,255); + switch(vit->in_dimension()) + { + case 0: + c = QColor::fromHsv((c.hue()+120)%360, c.saturation(),c.lightness(), c.alpha()); + break; + case 1: + break; + default: + c.setRgb(50,50,50,255); + } + const qglviewer::Vec offset = static_cast(QGLViewer::QGLViewerPool().first())->offset(); Kernel::Point_3 center(vit->point().point().x()+offset.x, vit->point().point().y()+offset.y, diff --git a/Polyhedron/demo/Polyhedron/resources/shader_c3t3.f b/Polyhedron/demo/Polyhedron/resources/shader_c3t3.f index 66801c9f102..f310ba8d287 100644 --- a/Polyhedron/demo/Polyhedron/resources/shader_c3t3.f +++ b/Polyhedron/demo/Polyhedron/resources/shader_c3t3.f @@ -12,7 +12,7 @@ uniform bool is_selected; void main(void) { if(color.w<0) { - vec4 my_color = vec4(color.xzy, 1.); + vec4 my_color = vec4(color.xyz, 1.); highp vec3 L = light_pos.xyz - fP.xyz; highp vec3 V = -fP.xyz; highp vec3 N;