From ad4fee68ef9aefc8aed253a49cbbabe1f23162ba Mon Sep 17 00:00:00 2001 From: Thomas Friedel Date: Mon, 5 Feb 2018 11:11:08 +0100 Subject: [PATCH] fixed a bug with the way the stencil buffer was used --- paths.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/paths.go b/paths.go index e0b4f86..27266d9 100644 --- a/paths.go +++ b/paths.go @@ -122,7 +122,6 @@ func (cv *Canvas) Stroke() { gli.StencilFunc(gl_ALWAYS, 1, 0xFF) gli.StencilOp(gl_KEEP, gl_KEEP, gl_REPLACE) gli.StencilMask(0x01) - gli.Clear(gl_STENCIL_BUFFER_BIT) gli.UseProgram(sr.id) s := cv.state.stroke @@ -209,8 +208,11 @@ func (cv *Canvas) Stroke() { gli.ColorMask(true, true, true, true) gli.StencilOp(gl_KEEP, gl_KEEP, gl_KEEP) - gli.StencilMask(0xFF) gli.StencilFunc(gl_EQUAL, 0, 0xFF) + + gli.StencilMask(0x01) + gli.Clear(gl_STENCIL_BUFFER_BIT) + gli.StencilMask(0xFF) } func (cv *Canvas) lineJoint(p pathPoint, p0, p1, p2, l0p0, l0p1, l0p2, l0p3 lm.Vec2, tris []float32) []float32 {