mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-27 04:08:53 +01:00
ebiten: Bug fix: The vertex backend was not flushed when the screen is shrunk
The last parameter of QuadVertices represents whether we can flush the backend vertices (on Wasm). The problem was that this was unexpectedly false even though the image is the screen, when the screen rendering is done with FilterLinear instead of FilterScreen. Closes #1479
This commit is contained in:
parent
773c03cb7a
commit
5a62587df5
4
image.go
4
image.go
@ -40,6 +40,7 @@ type Image struct {
|
|||||||
|
|
||||||
bounds image.Rectangle
|
bounds image.Rectangle
|
||||||
original *Image
|
original *Image
|
||||||
|
screen bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Image) copyCheck() {
|
func (i *Image) copyCheck() {
|
||||||
@ -202,7 +203,7 @@ func (i *Image) DrawImage(img *Image, options *DrawImageOptions) {
|
|||||||
sy0 := float32(bounds.Min.Y)
|
sy0 := float32(bounds.Min.Y)
|
||||||
sx1 := float32(bounds.Max.X)
|
sx1 := float32(bounds.Max.X)
|
||||||
sy1 := float32(bounds.Max.Y)
|
sy1 := float32(bounds.Max.Y)
|
||||||
vs := graphics.QuadVertices(sx0, sy0, sx1, sy1, a, b, c, d, tx, ty, 1, 1, 1, 1, filter == driver.FilterScreen)
|
vs := graphics.QuadVertices(sx0, sy0, sx1, sy1, a, b, c, d, tx, ty, 1, 1, 1, 1, i.screen)
|
||||||
is := graphics.QuadIndices()
|
is := graphics.QuadIndices()
|
||||||
|
|
||||||
srcs := [graphics.ShaderImageNum]*mipmap.Mipmap{img.mipmap}
|
srcs := [graphics.ShaderImageNum]*mipmap.Mipmap{img.mipmap}
|
||||||
@ -792,5 +793,6 @@ func newScreenFramebufferImage(width, height int) *Image {
|
|||||||
bounds: image.Rect(0, 0, width, height),
|
bounds: image.Rect(0, 0, width, height),
|
||||||
}
|
}
|
||||||
i.addr = i
|
i.addr = i
|
||||||
|
i.screen = true
|
||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user