diff --git a/src/engine/engine_vis_visualize.c b/src/engine/engine_vis_visualize.c index 3f53d446..02491e44 100644 --- a/src/engine/engine_vis_visualize.c +++ b/src/engine/engine_vis_visualize.c @@ -911,12 +911,10 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt, } // draw triangles, one per side - for (int j = 0; j < 2; j++) { - START - makeTriangle(thisgeom, pos[0], pos[j ? 1 : 2], pos[j ? 2 : 1], rgba); - thisgeom->objid = id; - FINISH - } + START + makeTriangle(thisgeom, pos[0], pos[1], pos[2], rgba); + thisgeom->objid = id; + FINISH } } } diff --git a/src/render/render_gl3.c b/src/render/render_gl3.c index 1660c67b..5b4be041 100644 --- a/src/render/render_gl3.c +++ b/src/render/render_gl3.c @@ -446,11 +446,15 @@ static void renderGeom(const mjvGeom* geom, int mode, const float* headpos, break; case mjGEOM_TRIANGLE: // triangle + glDisable(GL_CULL_FACE); glBegin(GL_TRIANGLES); glVertex3f(0, 0, 0); glVertex3f(size[0], 0, 0); glVertex3f(0, size[1], 0); glEnd(); + if (scn->flags[mjRND_CULL_FACE]) { + glEnable(GL_CULL_FACE); + } break; case mjGEOM_FLEX: // flex