diff --git a/backend/goglbackend/clip.go b/backend/goglbackend/clip.go index daed7c2..194d105 100644 --- a/backend/goglbackend/clip.go +++ b/backend/goglbackend/clip.go @@ -35,6 +35,7 @@ func (b *GoGLBackend) Clip(pts []backendbase.Vec) { gl.BindBuffer(gl.ARRAY_BUFFER, b.buf) gl.BufferData(gl.ARRAY_BUFFER, len(b.ptsBuf)*4, unsafe.Pointer(&b.ptsBuf[0]), gl.STREAM_DRAW) gl.VertexAttribPointer(b.shd.Vertex, 2, gl.FLOAT, false, 0, nil) + gl.VertexAttribPointer(b.shd.TexCoord, 2, gl.FLOAT, false, 0, nil) gl.UseProgram(b.shd.ID) gl.Uniform4f(b.shd.Color, 1, 1, 1, 1) @@ -44,6 +45,7 @@ func (b *GoGLBackend) Clip(pts []backendbase.Vec) { gl.Uniform1i(b.shd.UseAlphaTex, 0) gl.Uniform1i(b.shd.Func, shdFuncSolid) gl.EnableVertexAttribArray(b.shd.Vertex) + gl.EnableVertexAttribArray(b.shd.TexCoord) gl.ColorMask(false, false, false, false) @@ -66,6 +68,7 @@ func (b *GoGLBackend) Clip(pts []backendbase.Vec) { gl.DrawArrays(gl.TRIANGLE_FAN, 0, 4) gl.DisableVertexAttribArray(b.shd.Vertex) + gl.DisableVertexAttribArray(b.shd.TexCoord) gl.ColorMask(true, true, true, true) gl.StencilOp(gl.KEEP, gl.KEEP, gl.KEEP) diff --git a/backend/goglbackend/fill.go b/backend/goglbackend/fill.go index 936e7c5..4d614fd 100644 --- a/backend/goglbackend/fill.go +++ b/backend/goglbackend/fill.go @@ -49,9 +49,12 @@ func (b *GoGLBackend) Clear(pts [4]backendbase.Vec) { gl.StencilFunc(gl.EQUAL, 0, 0xFF) gl.VertexAttribPointer(b.shd.Vertex, 2, gl.FLOAT, false, 0, nil) + gl.VertexAttribPointer(b.shd.TexCoord, 2, gl.FLOAT, false, 0, nil) gl.EnableVertexAttribArray(b.shd.Vertex) + gl.EnableVertexAttribArray(b.shd.TexCoord) gl.DrawArrays(gl.TRIANGLE_FAN, 0, 4) gl.DisableVertexAttribArray(b.shd.Vertex) + gl.DisableVertexAttribArray(b.shd.TexCoord) gl.StencilFunc(gl.ALWAYS, 0, 0xFF) @@ -120,9 +123,12 @@ func (b *GoGLBackend) Fill(style *backendbase.FillStyle, pts []backendbase.Vec, gl.StencilFunc(gl.EQUAL, 0, 0xFF) gl.EnableVertexAttribArray(vertex) + gl.EnableVertexAttribArray(b.shd.TexCoord) gl.VertexAttribPointer(vertex, 2, gl.FLOAT, false, 0, nil) + gl.VertexAttribPointer(b.shd.TexCoord, 2, gl.FLOAT, false, 0, nil) gl.DrawArrays(mode, 4, int32(len(pts))) gl.DisableVertexAttribArray(vertex) + gl.DisableVertexAttribArray(b.shd.TexCoord) gl.StencilFunc(gl.ALWAYS, 0, 0xFF) } else { gl.ColorMask(false, false, false, false) @@ -140,9 +146,12 @@ func (b *GoGLBackend) Fill(style *backendbase.FillStyle, pts []backendbase.Vec, gl.Uniform1i(b.shd.Func, shdFuncSolid) gl.EnableVertexAttribArray(b.shd.Vertex) + gl.EnableVertexAttribArray(b.shd.TexCoord) gl.VertexAttribPointer(b.shd.Vertex, 2, gl.FLOAT, false, 0, nil) + gl.VertexAttribPointer(b.shd.TexCoord, 2, gl.FLOAT, false, 0, nil) gl.DrawArrays(mode, 4, int32(len(pts))) gl.DisableVertexAttribArray(b.shd.Vertex) + gl.DisableVertexAttribArray(b.shd.TexCoord) gl.ColorMask(true, true, true, true) @@ -150,10 +159,13 @@ func (b *GoGLBackend) Fill(style *backendbase.FillStyle, pts []backendbase.Vec, vertex, _ := b.useShader(style, mat3identity, false, 0) gl.EnableVertexAttribArray(vertex) + gl.EnableVertexAttribArray(b.shd.TexCoord) gl.VertexAttribPointer(vertex, 2, gl.FLOAT, false, 0, nil) + gl.VertexAttribPointer(b.shd.TexCoord, 2, gl.FLOAT, false, 0, nil) gl.DrawArrays(gl.TRIANGLE_FAN, 0, 4) gl.DisableVertexAttribArray(vertex) + gl.DisableVertexAttribArray(b.shd.TexCoord) gl.StencilOp(gl.KEEP, gl.KEEP, gl.KEEP) gl.StencilFunc(gl.ALWAYS, 0, 0xFF)