mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-25 11:18:54 +01:00
Remove gl.go
This commit is contained in:
parent
de7d980289
commit
26122aa120
@ -34,7 +34,11 @@ func NewTextures(textureFactory graphics.TextureFactory) *Textures {
|
||||
textures: map[string]graphics.TextureId{},
|
||||
renderTargets: map[string]graphics.RenderTargetId{},
|
||||
}
|
||||
go textures.loop()
|
||||
go func() {
|
||||
for {
|
||||
textures.loopMain()
|
||||
}
|
||||
}()
|
||||
return textures
|
||||
}
|
||||
|
||||
@ -52,43 +56,41 @@ func loadImage(path string) (image.Image, error) {
|
||||
return img, nil
|
||||
}
|
||||
|
||||
func (t *Textures) loop() {
|
||||
for {
|
||||
select {
|
||||
case p := <-t.texturePaths:
|
||||
name := p.name
|
||||
path := p.path
|
||||
go func() {
|
||||
img, err := loadImage(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
id, err := t.textureFactory.CreateTexture(
|
||||
img,
|
||||
graphics.FilterNearest)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
t.textures[name] = id
|
||||
}()
|
||||
case s := <-t.renderTargetSizes:
|
||||
name := s.name
|
||||
size := s.size
|
||||
go func() {
|
||||
id, err := t.textureFactory.CreateRenderTarget(
|
||||
size.Width,
|
||||
size.Height,
|
||||
graphics.FilterNearest)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
t.renderTargets[name] = id
|
||||
}()
|
||||
}
|
||||
func (t *Textures) loopMain() {
|
||||
select {
|
||||
case p := <-t.texturePaths:
|
||||
name := p.name
|
||||
path := p.path
|
||||
go func() {
|
||||
img, err := loadImage(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
id, err := t.textureFactory.CreateTexture(
|
||||
img,
|
||||
graphics.FilterNearest)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
t.textures[name] = id
|
||||
}()
|
||||
case s := <-t.renderTargetSizes:
|
||||
name := s.name
|
||||
size := s.size
|
||||
go func() {
|
||||
id, err := t.textureFactory.CreateRenderTarget(
|
||||
size.Width,
|
||||
size.Height,
|
||||
graphics.FilterNearest)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
t.renderTargets[name] = id
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,21 @@ import (
|
||||
"github.com/hajimehoshi/go-ebiten/graphics/matrix"
|
||||
)
|
||||
|
||||
// #cgo LDFLAGS: -framework OpenGL
|
||||
//
|
||||
// #include <stdlib.h>
|
||||
// #include <OpenGL/gl.h>
|
||||
import "C"
|
||||
|
||||
func enableAlphaBlending() {
|
||||
C.glEnable(C.GL_TEXTURE_2D)
|
||||
C.glEnable(C.GL_BLEND)
|
||||
}
|
||||
|
||||
func flush() {
|
||||
C.glFlush()
|
||||
}
|
||||
|
||||
type Context struct {
|
||||
screenId graphics.RenderTargetId
|
||||
mainId graphics.RenderTargetId
|
||||
|
@ -1,16 +0,0 @@
|
||||
package opengl
|
||||
|
||||
// #cgo LDFLAGS: -framework OpenGL
|
||||
//
|
||||
// #include <stdlib.h>
|
||||
// #include <OpenGL/gl.h>
|
||||
import "C"
|
||||
|
||||
func enableAlphaBlending() {
|
||||
C.glEnable(C.GL_TEXTURE_2D)
|
||||
C.glEnable(C.GL_BLEND)
|
||||
}
|
||||
|
||||
func flush() {
|
||||
C.glFlush()
|
||||
}
|
Loading…
Reference in New Issue
Block a user