fixed a bug on macos, nothing got rendered with disabled vertex attrib arrays
This commit is contained in:
parent
5eb5dc34e1
commit
6586c5c7d1
2 changed files with 15 additions and 0 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue