Commit Graph

199 Commits

Author SHA1 Message Date
Hajime Hoshi
e829e650f2 graphics: Always clear the screen framebuffer
This fixes the issue on Xperia Z3, but not on Xperia XY
2019-01-18 12:21:01 +09:00
Hajime Hoshi
9da54db1d9 Revert "graphics: Use math.Ceil for the screen framebuffer size"
This reverts commit 0b60471ac0.

Reason: This doesn't have any effect.
2019-01-17 11:21:03 +09:00
Hajime Hoshi
0d84d8dccb Revert: graphics: Use an even number for screen height offset
This reverts a82201cfe8.

I think this change does not make sense.
2019-01-16 23:50:11 +09:00
Hajime Hoshi
0b60471ac0 graphics: Use math.Ceil for the screen framebuffer size
There are glitches on some mobile devices like Xperia. As the
screen framebuffer size might not fit with the actual GL surface
size, we guessed that is the cause of the glitches.

By using math.Ceil, the screen framebuffer will be a little bigger
and can cover the GL surface.
2019-01-16 23:41:52 +09:00
Hajime Hoshi
1e1f309a1c shareable: Add Fill
Before introducing Fill, filling an image with a solid color was
implemented by ReplacePixels. When an offscreen image is used, the
offscreen image is not fully cleared or filled with a color and
out of (0,0)-(width,height) region. This causes a glitch thin line
on mobile platforms.

This change adds (*shareable.Image).Fill to fill the whole
framebuffer region of the image.
2019-01-13 02:12:47 +09:00
Hajime Hoshi
d5e6e6893e graphics: Refactoring 2019-01-13 00:56:33 +09:00
Hajime Hoshi
ff62876552 Add Metal implementation
Fixes #621
2018-12-20 02:37:10 +09:00
Hajime Hoshi
bc3ca38f76 opengl: Rename ResetGLState -> Reset and other functions 2018-11-01 03:02:08 +09:00
Hajime Hoshi
ce60f44490 graphics: Add (*mipmap).original() 2018-10-25 02:11:54 +09:00
Hajime Hoshi
15cad6ed9a graphics: Rename shareableImages -> mipmap 2018-10-25 02:05:25 +09:00
Hajime Hoshi
7494b19dea graphics: Refactoring: Add shareableImages struct 2018-10-24 01:09:59 +09:00
Hajime Hoshi
15260537a2 graphics: Bug fix: fullscreen rendering was wrong
After fad65f2f5d, the viewport size
is always same as the framebuffer size. The 'screen' image size
was the actual rendering region size, and padding was not
considered in the size. The padding is added on the fullscreen
mode.

This fix adds the extra padding values to the 'screen' image size
so that the 'screen' framebuffer will be same size as the monitor
size.

Fixes #693
2018-09-29 21:47:41 +09:00
Hajime Hoshi
8827520d4a graphics: Bug fix: avoid jaggy rendering on macOS by adjusting texels (#669) 2018-08-30 00:17:03 +09:00
Hajime Hoshi
a82201cfe8 graphics: Use an even number for screen height offset
Fixes #622
2018-08-12 20:12:05 +09:00
Hajime Hoshi
9e9a05ee54 graphics: Remove redundant disposing images 2018-07-30 00:25:51 +09:00
Hajime Hoshi
c720c8e1cb graphics: Dispose mipmap images for the offscreen every frame 2018-07-30 00:03:34 +09:00
Hajime Hoshi
8a221a5774 graphics: Use mipmap images for minifying images with linear filter
Fixes #578
2018-07-29 23:33:49 +09:00
Hajime Hoshi
c98ec30c10 graphics: Add comments 2018-07-18 03:05:09 +09:00
Hajime Hoshi
0593b77eb8 ui: Implement CurrentTPS 2018-07-18 02:11:00 +09:00
Hajime Hoshi
e99f2f9f69 ui: Rename TPS -> MaxTPS 2018-07-17 22:41:27 +09:00
Hajime Hoshi
a7a1f6b4c6 ui: Rename SetTPS -> SetMaxTPS, Introduce UncappedTPS 2018-07-17 22:33:53 +09:00
Hajime Hoshi
3a8ca5ad73 ui: Implement TPS/SetTPS
Fixes #605
Fixes #321
2018-07-17 01:58:00 +09:00
Hajime Hoshi
1626e40822 Refactoring: Avoid using const FPS 2018-07-17 00:53:00 +09:00
Hajime Hoshi
18ec1d8265 internal/clock: Update takes FPS 2018-07-16 01:03:23 +09:00
Hajime Hoshi
aed0bf4a37 graphics: Check error at the end of the frame
The error should be raised as soon as possible.
2018-07-12 03:16:31 +09:00
Hajime Hoshi
6c8b7f8e9c graphics: Refactoring: Reduce error propagations 2018-07-12 03:08:50 +09:00
Hajime Hoshi
3cd9dfd800 Rename IsRunningSlowly to IsDrawingSkipped
Fixes #643
2018-07-10 22:31:26 +09:00
Hajime Hoshi
3136ef5fbd graphics: More exact scaling
This is related to #622
2018-06-08 00:07:39 +09:00
Hajime Hoshi
c62e63f874 graphics: Remove 'filter' argument from newVolatileImage (#503) 2018-04-06 03:34:14 +09:00
Hajime Hoshi
7b5ad46e49 shareable: NewImage* now returns a cleared image 2018-04-06 02:08:12 +09:00
Hajime Hoshi
87daa82ad9 graphics: Replace emptyImage with dummyImage (not initialized) 2018-04-06 00:49:49 +09:00
Hajime Hoshi
97ce612785 Refactoring: Don't access restorable package directly from ebiten package 2018-03-25 23:37:32 +09:00
Hajime Hoshi
1b0e71765f internal/hooks: Rename Update -> BeforeUpdate 2018-03-15 02:50:10 +09:00
Hajime Hoshi
a2d6ae7eee shareable: Rename ImagePart -> Image 2018-03-11 00:05:06 +09:00
Hajime Hoshi
1556db74fa graphics: Rename sharedImage -> shareableImage 2018-03-10 23:39:06 +09:00
Hajime Hoshi
afda41a5ed graphics: Refactoring: Remove (*Image).restorable 2018-03-10 23:18:50 +09:00
Hajime Hoshi
e977019d2f graphics: Detect maximum texture size for each environment
Fixes #537, #539

See also #541
2018-03-09 11:47:23 +09:00
Hajime Hoshi
5bfdc6d29a graphics: The screen filter might be heavy 2018-03-05 11:09:06 +09:00
Hajime Hoshi
f1d97a7758 graphics: Refactoring 2018-03-05 10:53:42 +09:00
Hajime Hoshi
dcb05fb9ad graphics: Remove unneeded 'Clear' on the screen framebuffer 2018-03-05 10:53:09 +09:00
Hajime Hoshi
d523229d9f graphics: Skip clearing the screen framebuffer 2018-03-05 02:59:52 +09:00
Hajime Hoshi
d0592d30e0 graphics: Improve clearing the offscreen performance 2018-03-02 01:55:40 +09:00
Hajime Hoshi
b8deabbd94 graphics: Reland: Bug fix: a too old frame was rendered at least on Android
Fixes #525
2018-03-01 23:05:28 +09:00
Hajime Hoshi
1c0f5e09d5 Revert "graphics: Bug fix: a too old frame was rendered at least on Android"
Reason: #525

This reverts commit deab21fad1.
2018-03-01 22:42:31 +09:00
Hajime Hoshi
deab21fad1 graphics: Bug fix: a too old frame was rendered at least on Android
Fixes #520
2018-03-01 11:37:01 +09:00
Hajime Hoshi
9e61d0622e graphics: Revert ClearVolatileImages 2018-02-28 23:21:23 +09:00
Hajime Hoshi
02b4fc7917 graphics: Reduce num of Image.Clear() calls 2018-02-28 23:11:12 +09:00
Hajime Hoshi
9db042ae9e graphics: Refactoring: easier way to clear framebuffer 2018-02-28 22:46:57 +09:00
Hajime Hoshi
9adc1ac6a0 Revert "graphics: Refactoring: clearing framebuffer"
This reverts commit 58f5c9c1d0.

Fixes #515
2018-02-25 22:04:04 +09:00
Hajime Hoshi
58f5c9c1d0 graphics: Refactoring: clearing framebuffer 2018-02-24 23:51:05 +09:00