diff --git a/nodes/viz/vd_draw_experimental.py b/nodes/viz/vd_draw_experimental.py index 4fa62981d79e12b3d5e0c7b67ce8754b0af74258..84320480634584798a92e0692ca098f0edfc0f79 100644 --- a/nodes/viz/vd_draw_experimental.py +++ b/nodes/viz/vd_draw_experimental.py @@ -281,11 +281,18 @@ def draw_fragment(context, args): def draw_faces(context, args): geom, config = args + bgl.glDisable(bgl.GL_POLYGON_OFFSET_FILL) + if config.display_edges: + draw_uniform('LINES', geom.verts, geom.edges, config.line4f, config.line_width) + if config.display_faces: if config.draw_gl_wireframe: bgl.glPolygonMode(bgl.GL_FRONT_AND_BACK, bgl.GL_LINE) + bgl.glEnable(bgl.GL_POLYGON_OFFSET_FILL) + bgl.glPolygonOffset(1.0, 1.0) + if config.shade == "flat": draw_uniform('TRIS', geom.verts, geom.faces, config.face4f) elif config.shade == "facet": @@ -302,12 +309,10 @@ def draw_faces(context, args): bgl.glPolygonMode(bgl.GL_FRONT, bgl.GL_FILL) - if config.display_edges: - draw_uniform('LINES', geom.verts, geom.edges, config.line4f, config.line_width) if config.display_verts: draw_uniform('POINTS', geom.verts, None, config.vcol, config.point_size) - + bgl.glDisable(bgl.GL_POLYGON_OFFSET_FILL) def get_shader_data(named_shader=None): source = bpy.data.texts[named_shader].as_string()