summaryrefslogtreecommitdiff
path: root/src/ThrownTogetherRenderer.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-09-02 21:35:10 (GMT)
committerMarius Kintel <marius@kintel.net>2011-09-02 21:35:10 (GMT)
commited8a99ed55d5d1ad043608ed471bb7564403bde9 (patch)
treed0205bc5d22062ba6ddc0bbf87c88e9fafa58536 /src/ThrownTogetherRenderer.cc
parent287c20d2ff1f737acb414b3eda4969356c02c4fe (diff)
Refactoring: Moved color functionality into separate module and node
Diffstat (limited to 'src/ThrownTogetherRenderer.cc')
-rw-r--r--src/ThrownTogetherRenderer.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ThrownTogetherRenderer.cc b/src/ThrownTogetherRenderer.cc
index 0a0c9c8..92a504a 100644
--- a/src/ThrownTogetherRenderer.cc
+++ b/src/ThrownTogetherRenderer.cc
@@ -66,6 +66,7 @@ void ThrownTogetherRenderer::renderCSGChain(CSGChain *chain, bool highlight,
if (polySetVisitMark[QPair<PolySet*,double*>(chain->polysets[i], chain->matrices[i])]++ > 0)
continue;
double *m = chain->matrices[i];
+ double *c = chain->colors[i];
glPushMatrix();
glMultMatrixd(m);
int csgmode = chain->types[i] == CSGTerm::TYPE_DIFFERENCE ? PolySet::CSGMODE_DIFFERENCE : PolySet::CSGMODE_NORMAL;
@@ -91,12 +92,12 @@ void ThrownTogetherRenderer::renderCSGChain(CSGChain *chain, bool highlight,
} else {
chain->polysets[i]->render_surface(PolySet::COLORMODE_NONE, PolySet::csgmode_e(csgmode), m);
}
- } else if (m[16] >= 0 || m[17] >= 0 || m[18] >= 0 || m[19] >= 0) {
- glColor4d(m[16], m[17], m[18], m[19]);
+ } else if (c[0] >= 0 || c[1] >= 0 || c[2] >= 0 || c[3] >= 0) {
+ glColor4dv(c);
chain->polysets[i]->render_surface(PolySet::COLORMODE_NONE, PolySet::csgmode_e(csgmode), m);
if (showedges) {
glDisable(GL_LIGHTING);
- glColor4d((m[16]+1)/2, (m[17]+1)/2, (m[18]+1)/2, 1.0);
+ glColor4d((c[0]+1)/2, (c[1]+1)/2, (c[2]+1)/2, 1.0);
chain->polysets[i]->render_edges(PolySet::COLORMODE_NONE, PolySet::csgmode_e(csgmode));
glEnable(GL_LIGHTING);
}
contact: Jan Huwald // Impressum