diff options
Diffstat (limited to 'src/OpenCSGRenderer.cc')
-rw-r--r-- | src/OpenCSGRenderer.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/OpenCSGRenderer.cc b/src/OpenCSGRenderer.cc index a030e6c..5d6b0da 100644 --- a/src/OpenCSGRenderer.cc +++ b/src/OpenCSGRenderer.cc @@ -39,11 +39,11 @@ public: OpenCSGPrim(OpenCSG::Operation operation, unsigned int convexity) : OpenCSG::Primitive(operation, convexity) { } shared_ptr<PolySet> ps; - double *m; + Transform3d m; int csgmode; virtual void render() { glPushMatrix(); - glMultMatrixd(m); + glMultMatrixd(m.data()); ps->render_surface(PolySet::COLORMODE_NONE, PolySet::csgmode_e(csgmode), m); glPopMatrix(); } @@ -85,10 +85,10 @@ void OpenCSGRenderer::renderCSGChain(CSGChain *chain, GLint *shaderinfo, } if (shaderinfo) glUseProgram(shaderinfo[0]); for (; j < i; j++) { - double *m = chain->matrices[j]; + const Transform3d &m = chain->matrices[j]; double *c = chain->colors[j]; glPushMatrix(); - glMultMatrixd(m); + glMultMatrixd(m.data()); int csgmode = chain->types[j] == CSGTerm::TYPE_DIFFERENCE ? PolySet::CSGMODE_DIFFERENCE : PolySet::CSGMODE_NORMAL; if (highlight) { chain->polysets[j]->render_surface(PolySet::COLORMODE_HIGHLIGHT, PolySet::csgmode_e(csgmode + 20), m, shaderinfo); |