mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-26 19:58:54 +01:00
graphics: Refactoring: Rename functions
This commit is contained in:
parent
32ac3840a7
commit
2853895e6b
@ -209,9 +209,9 @@ type drawImageCommand struct {
|
|||||||
filter Filter
|
filter Filter
|
||||||
}
|
}
|
||||||
|
|
||||||
// QuadVertexSizeInBytes returns the size in bytes of vertices for a quadrangle.
|
// VertexSizeInBytes returns the size in bytes of one vertex.
|
||||||
func QuadVertexSizeInBytes() int {
|
func VertexSizeInBytes() int {
|
||||||
return 4 * theArrayBufferLayout.totalBytes()
|
return theArrayBufferLayout.totalBytes()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec executes the drawImageCommand.
|
// Exec executes the drawImageCommand.
|
||||||
|
@ -89,10 +89,10 @@ func (i *Image) Size() (int, int) {
|
|||||||
func (i *Image) DrawImage(src *Image, vertices []float32, clr *affine.ColorM, mode opengl.CompositeMode, filter Filter) {
|
func (i *Image) DrawImage(src *Image, vertices []float32, clr *affine.ColorM, mode opengl.CompositeMode, filter Filter) {
|
||||||
for len(vertices) > 0 {
|
for len(vertices) > 0 {
|
||||||
var next []float32
|
var next []float32
|
||||||
nq := len(vertices) * opengl.Float.SizeInBytes() / QuadVertexSizeInBytes()
|
nq := len(vertices) * opengl.Float.SizeInBytes() / VertexSizeInBytes() / 4
|
||||||
if nq > maxQuads {
|
if nq > maxQuads {
|
||||||
nq = maxQuads
|
nq = maxQuads
|
||||||
i := nq * QuadVertexSizeInBytes() / opengl.Float.SizeInBytes()
|
i := 4 * nq * VertexSizeInBytes() / opengl.Float.SizeInBytes()
|
||||||
next = vertices[i:]
|
next = vertices[i:]
|
||||||
vertices = vertices[:i]
|
vertices = vertices[:i]
|
||||||
}
|
}
|
||||||
|
@ -17,10 +17,10 @@ package restorable
|
|||||||
import (
|
import (
|
||||||
"github.com/hajimehoshi/ebiten/internal/affine"
|
"github.com/hajimehoshi/ebiten/internal/affine"
|
||||||
"github.com/hajimehoshi/ebiten/internal/graphics"
|
"github.com/hajimehoshi/ebiten/internal/graphics"
|
||||||
|
"github.com/hajimehoshi/ebiten/internal/opengl"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
quadFloat32Num = graphics.QuadVertexSizeInBytes() / 4
|
|
||||||
theVerticesBackend = &verticesBackend{}
|
theVerticesBackend = &verticesBackend{}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -29,14 +29,15 @@ type verticesBackend struct {
|
|||||||
head int
|
head int
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *verticesBackend) get() []float32 {
|
func (v *verticesBackend) sliceForOneQuad() []float32 {
|
||||||
const num = 256
|
const num = 256
|
||||||
|
size := 4 * graphics.VertexSizeInBytes() / opengl.Float.SizeInBytes()
|
||||||
if v.backend == nil {
|
if v.backend == nil {
|
||||||
v.backend = make([]float32, quadFloat32Num*num)
|
v.backend = make([]float32, size*num)
|
||||||
}
|
}
|
||||||
s := v.backend[v.head : v.head+quadFloat32Num]
|
s := v.backend[v.head : v.head+size]
|
||||||
v.head += quadFloat32Num
|
v.head += size
|
||||||
if v.head+quadFloat32Num > len(v.backend) {
|
if v.head+size > len(v.backend) {
|
||||||
v.backend = nil
|
v.backend = nil
|
||||||
v.head = 0
|
v.head = 0
|
||||||
}
|
}
|
||||||
@ -51,7 +52,7 @@ func vertices(width, height int, sx0, sy0, sx1, sy1 int, geo *affine.GeoM) []flo
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
vs := theVerticesBackend.get()
|
vs := theVerticesBackend.sliceForOneQuad()
|
||||||
|
|
||||||
x0, y0 := 0.0, 0.0
|
x0, y0 := 0.0, 0.0
|
||||||
x1, y1 := float64(sx1-sx0), float64(sy1-sy0)
|
x1, y1 := float64(sx1-sx0), float64(sy1-sy0)
|
||||||
|
Loading…
Reference in New Issue
Block a user