From 7bbc32ce0e0d1f3065a324563d1cce29b85e3b87 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Sun, 4 Nov 2018 19:46:20 +0900 Subject: [PATCH] opengl: Unexport Texture --- internal/opengl/context.go | 4 ++-- internal/opengl/context_desktop.go | 20 ++++++++++---------- internal/opengl/context_js.go | 26 +++++++++++++------------- internal/opengl/context_mobile.go | 24 ++++++++++++------------ internal/opengl/framebuffer.go | 2 +- internal/opengl/image.go | 20 ++++++++++---------- internal/opengl/program.go | 4 ++-- 7 files changed, 50 insertions(+), 50 deletions(-) diff --git a/internal/opengl/context.go b/internal/opengl/context.go index e0f66d295..acadb55af 100644 --- a/internal/opengl/context.go +++ b/internal/opengl/context.go @@ -66,7 +66,7 @@ type Context struct { locationCache *locationCache screenFramebuffer framebufferNative // This might not be the default frame buffer '0' (e.g. iOS). lastFramebuffer framebufferNative - lastTexture Texture + lastTexture textureNative lastViewportWidth int lastViewportHeight int lastCompositeMode graphics.CompositeMode @@ -80,7 +80,7 @@ func GetContext() *Context { return theContext } -func (c *Context) bindTexture(t Texture) { +func (c *Context) bindTexture(t textureNative) { if c.lastTexture == t { return } diff --git a/internal/opengl/context_desktop.go b/internal/opengl/context_desktop.go index f28d5921e..d81eb2c3b 100644 --- a/internal/opengl/context_desktop.go +++ b/internal/opengl/context_desktop.go @@ -29,14 +29,14 @@ import ( ) type ( - Texture uint32 + textureNative uint32 framebufferNative uint32 shader uint32 program uint32 buffer uint32 ) -var InvalidTexture Texture +var InvalidTexture textureNative type ( uniformLocation int32 @@ -135,8 +135,8 @@ func (c *Context) BlendFunc(mode graphics.CompositeMode) { }) } -func (c *Context) newTexture(width, height int) (Texture, error) { - var texture Texture +func (c *Context) newTexture(width, height int) (textureNative, error) { + var texture textureNative if err := c.runOnContextThread(func() error { var t uint32 gl.GenTextures(1, &t) @@ -145,7 +145,7 @@ func (c *Context) newTexture(width, height int) (Texture, error) { return errors.New("opengl: creating texture failed") } gl.PixelStorei(gl.UNPACK_ALIGNMENT, 4) - texture = Texture(t) + texture = textureNative(t) return nil }); err != nil { return 0, err @@ -190,14 +190,14 @@ func (c *Context) framebufferPixels(f *Framebuffer, width, height int) ([]byte, return pixels, nil } -func (c *Context) bindTextureImpl(t Texture) { +func (c *Context) bindTextureImpl(t textureNative) { _ = c.runOnContextThread(func() error { gl.BindTexture(gl.TEXTURE_2D, uint32(t)) return nil }) } -func (c *Context) deleteTexture(t Texture) { +func (c *Context) deleteTexture(t textureNative) { _ = c.runOnContextThread(func() error { tt := uint32(t) if !gl.IsTexture(tt) { @@ -211,7 +211,7 @@ func (c *Context) deleteTexture(t Texture) { }) } -func (c *Context) isTexture(t Texture) bool { +func (c *Context) isTexture(t textureNative) bool { r := false _ = c.runOnContextThread(func() error { r = gl.IsTexture(uint32(t)) @@ -220,7 +220,7 @@ func (c *Context) isTexture(t Texture) bool { return r } -func (c *Context) texSubImage2D(t Texture, p []byte, x, y, width, height int) { +func (c *Context) texSubImage2D(t textureNative, p []byte, x, y, width, height int) { c.bindTexture(t) _ = c.runOnContextThread(func() error { gl.TexSubImage2D(gl.TEXTURE_2D, 0, int32(x), int32(y), int32(width), int32(height), gl.RGBA, gl.UNSIGNED_BYTE, gl.Ptr(p)) @@ -232,7 +232,7 @@ func (c *Context) BeforeSwapping() { c.bindFramebuffer(c.screenFramebuffer) } -func (c *Context) newFramebuffer(texture Texture) (framebufferNative, error) { +func (c *Context) newFramebuffer(texture textureNative) (framebufferNative, error) { var framebuffer framebufferNative var f uint32 if err := c.runOnContextThread(func() error { diff --git a/internal/opengl/context_js.go b/internal/opengl/context_js.go index 0f4e1a28d..4b7fc71f8 100644 --- a/internal/opengl/context_js.go +++ b/internal/opengl/context_js.go @@ -26,7 +26,7 @@ import ( ) type ( - Texture js.Value + textureNative js.Value framebufferNative js.Value shader js.Value buffer js.Value @@ -40,7 +40,7 @@ type ( } ) -var InvalidTexture = Texture(js.Null()) +var InvalidTexture = textureNative(js.Null()) func getProgramID(p program) programID { return p.id @@ -149,7 +149,7 @@ func Init() error { func (c *Context) reset() error { c.locationCache = newLocationCache() - c.lastTexture = Texture(js.Null()) + c.lastTexture = textureNative(js.Null()) c.lastFramebuffer = framebufferNative(js.Null()) c.lastViewportWidth = 0 c.lastViewportHeight = 0 @@ -173,14 +173,14 @@ func (c *Context) BlendFunc(mode graphics.CompositeMode) { gl.Call("blendFunc", int(s2), int(d2)) } -func (c *Context) newTexture(width, height int) (Texture, error) { +func (c *Context) newTexture(width, height int) (textureNative, error) { gl := c.gl t := gl.Call("createTexture") if t == js.Null() { - return Texture(js.Null()), errors.New("opengl: glGenTexture failed") + return textureNative(js.Null()), errors.New("opengl: glGenTexture failed") } gl.Call("pixelStorei", unpackAlignment, 4) - c.bindTexture(Texture(t)) + c.bindTexture(textureNative(t)) gl.Call("texParameteri", texture2d, textureMagFilter, nearest) gl.Call("texParameteri", texture2d, textureMinFilter, nearest) @@ -196,7 +196,7 @@ func (c *Context) newTexture(width, height int) (Texture, error) { // avoided. gl.Call("texImage2D", texture2d, 0, rgba, width, height, 0, rgba, unsignedByte, nil) - return Texture(t), nil + return textureNative(t), nil } func (c *Context) bindFramebufferImpl(f framebufferNative) { @@ -220,28 +220,28 @@ func (c *Context) framebufferPixels(f *Framebuffer, width, height int) ([]byte, return pixels, nil } -func (c *Context) bindTextureImpl(t Texture) { +func (c *Context) bindTextureImpl(t textureNative) { gl := c.gl gl.Call("bindTexture", texture2d, js.Value(t)) } -func (c *Context) deleteTexture(t Texture) { +func (c *Context) deleteTexture(t textureNative) { gl := c.gl if !gl.Call("isTexture", js.Value(t)).Bool() { return } if c.lastTexture == t { - c.lastTexture = Texture(js.Null()) + c.lastTexture = textureNative(js.Null()) } gl.Call("deleteTexture", js.Value(t)) } -func (c *Context) isTexture(t Texture) bool { +func (c *Context) isTexture(t textureNative) bool { gl := c.gl return gl.Call("isTexture", js.Value(t)).Bool() } -func (c *Context) texSubImage2D(t Texture, pixels []byte, x, y, width, height int) { +func (c *Context) texSubImage2D(t textureNative, pixels []byte, x, y, width, height int) { c.bindTexture(t) gl := c.gl // void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, @@ -252,7 +252,7 @@ func (c *Context) texSubImage2D(t Texture, pixels []byte, x, y, width, height in p.Release() } -func (c *Context) newFramebuffer(t Texture) (framebufferNative, error) { +func (c *Context) newFramebuffer(t textureNative) (framebufferNative, error) { gl := c.gl f := gl.Call("createFramebuffer") c.bindFramebuffer(framebufferNative(f)) diff --git a/internal/opengl/context_mobile.go b/internal/opengl/context_mobile.go index a8acc4679..76b835735 100644 --- a/internal/opengl/context_mobile.go +++ b/internal/opengl/context_mobile.go @@ -26,14 +26,14 @@ import ( ) type ( - Texture mgl.Texture + textureNative mgl.Texture framebufferNative mgl.Framebuffer shader mgl.Shader program mgl.Program buffer mgl.Buffer ) -var InvalidTexture Texture +var InvalidTexture textureNative type ( uniformLocation mgl.Uniform @@ -43,7 +43,7 @@ type ( type programID uint32 var ( - invalidTexture = Texture(mgl.Texture{}) + invalidTexture = textureNative(mgl.Texture{}) invalidFramebuffer = framebufferNative(mgl.Framebuffer{(1 << 32) - 1}) ) @@ -133,14 +133,14 @@ func (c *Context) BlendFunc(mode graphics.CompositeMode) { gl.BlendFunc(mgl.Enum(s2), mgl.Enum(d2)) } -func (c *Context) newTexture(width, height int) (Texture, error) { +func (c *Context) newTexture(width, height int) (textureNative, error) { gl := c.gl t := gl.CreateTexture() if t.Value <= 0 { - return Texture{}, errors.New("opengl: creating texture failed") + return textureNative{}, errors.New("opengl: creating texture failed") } gl.PixelStorei(mgl.UNPACK_ALIGNMENT, 4) - c.bindTexture(Texture(t)) + c.bindTexture(textureNative(t)) gl.TexParameteri(mgl.TEXTURE_2D, mgl.TEXTURE_MAG_FILTER, mgl.NEAREST) gl.TexParameteri(mgl.TEXTURE_2D, mgl.TEXTURE_MIN_FILTER, mgl.NEAREST) @@ -148,7 +148,7 @@ func (c *Context) newTexture(width, height int) (Texture, error) { gl.TexParameteri(mgl.TEXTURE_2D, mgl.TEXTURE_WRAP_T, mgl.CLAMP_TO_EDGE) gl.TexImage2D(mgl.TEXTURE_2D, 0, mgl.RGBA, width, height, mgl.RGBA, mgl.UNSIGNED_BYTE, nil) - return Texture(t), nil + return textureNative(t), nil } func (c *Context) bindFramebufferImpl(f framebufferNative) { @@ -170,12 +170,12 @@ func (c *Context) framebufferPixels(f *Framebuffer, width, height int) ([]byte, return pixels, nil } -func (c *Context) bindTextureImpl(t Texture) { +func (c *Context) bindTextureImpl(t textureNative) { gl := c.gl gl.BindTexture(mgl.TEXTURE_2D, mgl.Texture(t)) } -func (c *Context) deleteTexture(t Texture) { +func (c *Context) deleteTexture(t textureNative) { gl := c.gl if !gl.IsTexture(mgl.Texture(t)) { return @@ -186,18 +186,18 @@ func (c *Context) deleteTexture(t Texture) { gl.DeleteTexture(mgl.Texture(t)) } -func (c *Context) isTexture(t Texture) bool { +func (c *Context) isTexture(t textureNative) bool { gl := c.gl return gl.IsTexture(mgl.Texture(t)) } -func (c *Context) texSubImage2D(t Texture, p []byte, x, y, width, height int) { +func (c *Context) texSubImage2D(t textureNative, p []byte, x, y, width, height int) { c.bindTexture(t) gl := c.gl gl.TexSubImage2D(mgl.TEXTURE_2D, 0, x, y, width, height, mgl.RGBA, mgl.UNSIGNED_BYTE, p) } -func (c *Context) newFramebuffer(texture Texture) (framebufferNative, error) { +func (c *Context) newFramebuffer(texture textureNative) (framebufferNative, error) { gl := c.gl f := gl.CreateFramebuffer() if f.Value <= 0 { diff --git a/internal/opengl/framebuffer.go b/internal/opengl/framebuffer.go index 68c3bd9fc..1dda3718e 100644 --- a/internal/opengl/framebuffer.go +++ b/internal/opengl/framebuffer.go @@ -25,7 +25,7 @@ type Framebuffer struct { } // newFramebufferFromTexture creates a framebuffer from the given texture. -func newFramebufferFromTexture(texture Texture, width, height int) (*Framebuffer, error) { +func newFramebufferFromTexture(texture textureNative, width, height int) (*Framebuffer, error) { native, err := theContext.newFramebuffer(texture) if err != nil { return nil, err diff --git a/internal/opengl/image.go b/internal/opengl/image.go index fe8667693..73526549f 100644 --- a/internal/opengl/image.go +++ b/internal/opengl/image.go @@ -37,10 +37,10 @@ func checkSize(width, height int) { } type Image struct { - Texture Texture - Framebuffer *Framebuffer - width int - height int + textureNative textureNative + Framebuffer *Framebuffer + width int + height int } func NewImage(width, height int) (*Image, error) { @@ -55,7 +55,7 @@ func NewImage(width, height int) (*Image, error) { if err != nil { return nil, err } - i.Texture = t + i.textureNative = t return i, nil } @@ -77,15 +77,15 @@ func (i *Image) Size() (int, int) { } func (i *Image) IsInvalidated() bool { - return !theContext.isTexture(i.Texture) + return !theContext.isTexture(i.textureNative) } func (i *Image) Delete() { if i.Framebuffer != nil { i.Framebuffer.delete() } - if i.Texture != *new(Texture) { - theContext.deleteTexture(i.Texture) + if i.textureNative != *new(textureNative) { + theContext.deleteTexture(i.textureNative) } } @@ -121,7 +121,7 @@ func (i *Image) ensureFramebuffer() error { return nil } w, h := i.Size() - f, err := newFramebufferFromTexture(i.Texture, math.NextPowerOf2Int(w), math.NextPowerOf2Int(h)) + f, err := newFramebufferFromTexture(i.textureNative, math.NextPowerOf2Int(w), math.NextPowerOf2Int(h)) if err != nil { return err } @@ -130,5 +130,5 @@ func (i *Image) ensureFramebuffer() error { } func (i *Image) TexSubImage2D(p []byte, x, y, width, height int) { - theContext.texSubImage2D(i.Texture, p, x, y, width, height) + theContext.texSubImage2D(i.textureNative, p, x, y, width, height) } diff --git a/internal/opengl/program.go b/internal/opengl/program.go index 3de084982..63f40809c 100644 --- a/internal/opengl/program.go +++ b/internal/opengl/program.go @@ -267,11 +267,11 @@ func BufferSubData(vertices []float32, indices []uint16) { } func UseProgram(proj []float32, src *Image, dstW, dstH, srcW, srcH int, colorM *affine.ColorM, filter graphics.Filter) { - theOpenGLState.useProgram(proj, src.Texture, dstW, dstH, srcW, srcH, colorM, filter) + theOpenGLState.useProgram(proj, src.textureNative, dstW, dstH, srcW, srcH, colorM, filter) } // useProgram uses the program (programTexture). -func (s *openGLState) useProgram(proj []float32, texture Texture, dstW, dstH, srcW, srcH int, colorM *affine.ColorM, filter graphics.Filter) { +func (s *openGLState) useProgram(proj []float32, texture textureNative, dstW, dstH, srcW, srcH int, colorM *affine.ColorM, filter graphics.Filter) { c := GetContext() var program program