summaryrefslogtreecommitdiff
path: root/src/OpenCSGRenderer.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-12-25 23:38:03 (GMT)
committerMarius Kintel <marius@kintel.net>2011-12-25 23:38:03 (GMT)
commitc4bffdaf37fdf72a84a225ec584d3698fe398857 (patch)
tree503b819d69c00f007709cfee0f332c7adc7ad818 /src/OpenCSGRenderer.cc
parent3e64e63b0113a99666ad68aa3e82bb7b80324d9b (diff)
Color overriding now works. The outermost color will win if multiple colors are specified for the same object
Diffstat (limited to 'src/OpenCSGRenderer.cc')
-rw-r--r--src/OpenCSGRenderer.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/OpenCSGRenderer.cc b/src/OpenCSGRenderer.cc
index 233124b..eb66687 100644
--- a/src/OpenCSGRenderer.cc
+++ b/src/OpenCSGRenderer.cc
@@ -86,7 +86,7 @@ void OpenCSGRenderer::renderCSGChain(CSGChain *chain, GLint *shaderinfo,
if (shaderinfo) glUseProgram(shaderinfo[0]);
for (; j < i; j++) {
const Transform3d &m = chain->matrices[j];
- double *c = chain->colors[j];
+ const Color4f &c = chain->colors[j];
glPushMatrix();
glMultMatrixd(m.data());
PolySet::csgmode_e csgmode = chain->types[j] == CSGTerm::TYPE_DIFFERENCE ? PolySet::CSGMODE_DIFFERENCE : PolySet::CSGMODE_NORMAL;
@@ -99,7 +99,7 @@ void OpenCSGRenderer::renderCSGChain(CSGChain *chain, GLint *shaderinfo,
csgmode = PolySet::csgmode_e(csgmode + 10);
} else if (c[0] >= 0 || c[1] >= 0 || c[2] >= 0 || c[3] >= 0) {
// User-defined color or alpha from source
- setColor(c, shaderinfo);
+ setColor(c.data(), shaderinfo);
} else if (chain->types[j] == CSGTerm::TYPE_DIFFERENCE) {
setColor(COLORMODE_CUTOUT, shaderinfo);
} else {
contact: Jan Huwald // Impressum