diff options
author | Marius Kintel <marius@kintel.net> | 2011-12-25 23:38:03 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-12-25 23:38:03 (GMT) |
commit | c4bffdaf37fdf72a84a225ec584d3698fe398857 (patch) | |
tree | 503b819d69c00f007709cfee0f332c7adc7ad818 /src/ThrownTogetherRenderer.cc | |
parent | 3e64e63b0113a99666ad68aa3e82bb7b80324d9b (diff) |
Color overriding now works. The outermost color will win if multiple colors are specified for the same object
Diffstat (limited to 'src/ThrownTogetherRenderer.cc')
-rw-r--r-- | src/ThrownTogetherRenderer.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ThrownTogetherRenderer.cc b/src/ThrownTogetherRenderer.cc index 36f7b95..146d2e1 100644 --- a/src/ThrownTogetherRenderer.cc +++ b/src/ThrownTogetherRenderer.cc @@ -67,7 +67,7 @@ void ThrownTogetherRenderer::renderCSGChain(CSGChain *chain, bool highlight, if (polySetVisitMark[std::make_pair(chain->polysets[i].get(), &chain->matrices[i])]++ > 0) continue; const Transform3d &m = chain->matrices[i]; - double *c = chain->colors[i]; + const Color4f &c = chain->colors[i]; glPushMatrix(); glMultMatrixd(m.data()); PolySet::csgmode_e csgmode = chain->types[i] == CSGTerm::TYPE_DIFFERENCE ? PolySet::CSGMODE_DIFFERENCE : PolySet::CSGMODE_NORMAL; @@ -93,10 +93,10 @@ void ThrownTogetherRenderer::renderCSGChain(CSGChain *chain, bool highlight, else csgmode = PolySet::csgmode_e(csgmode); chain->polysets[i]->render_surface(csgmode, m); } else if (c[0] >= 0 || c[1] >= 0 || c[2] >= 0 || c[3] >= 0) { - setColor(c); + setColor(c.data()); chain->polysets[i]->render_surface(csgmode, m); if (showedges) { - glColor4d((c[0]+1)/2, (c[1]+1)/2, (c[2]+1)/2, 1.0); + glColor4f((c[0]+1)/2, (c[1]+1)/2, (c[2]+1)/2, 1.0); chain->polysets[i]->render_edges(csgmode); } } else if (chain->types[i] == CSGTerm::TYPE_DIFFERENCE) { |