Commit Graph

1124 Commits

Author SHA1 Message Date
Hajime Hoshi
025fd00e6b restorable: Bug fix: Make the image stale when pixels are partly replaced 2018-03-25 20:39:06 +09:00
Hajime Hoshi
fc47d2843a restorable: Add TestRestoreChain2 2018-03-25 19:43:32 +09:00
Hajime Hoshi
c0b1919020 opengl: Refactoring: More similar way to golang.org/x/mobile/app 2018-03-25 18:23:34 +09:00
Hajime Hoshi
c47b549fd1 restorable: Refactoring: Make functions more atomic 2018-03-25 18:21:43 +09:00
Hajime Hoshi
99f72a1b64 restorable: Bug fix: commands must be flushed at At 2018-03-25 01:26:43 +09:00
Hajime Hoshi
8149ace52c restorable: Add TestDispose 2018-03-25 00:50:11 +09:00
Hajime Hoshi
0acf021e03 restorable: Dispose images explicitly when restoring (#567) 2018-03-24 23:27:08 +09:00
Hajime Hoshi
1616373819 restorable: Ensure the given image is not nil at makeStaleIfDependingOn 2018-03-24 21:57:22 +09:00
Hajime Hoshi
b15fb523a8 shareable: Rename variables 2018-03-24 04:27:10 +09:00
Hajime Hoshi
b92bc6f21c Revert "shareable: Implement extending shareable texture again"
This reverts commit b474946619.

Reason: #567
2018-03-24 04:23:00 +09:00
Hajime Hoshi
2110191794 mobile: Accept gomobile build (#249) 2018-03-24 02:52:42 +09:00
Hajime Hoshi
9009b293e5 graphics: Remove type assertion 2018-03-21 16:51:27 +09:00
Hajime Hoshi
23c2fc0134 Revert "graphics: Remove type assertion"
This reverts commit ff331d031a.

Compile error
2018-03-21 16:48:51 +09:00
Hajime Hoshi
ff331d031a graphics: Remove type assertion 2018-03-21 16:45:57 +09:00
Hajime Hoshi
09166a6c42 graphics: Fix shaders cleaner way 2018-03-21 03:36:36 +09:00
Hajime Hoshi
0a5deab0a2 graphics: Reland Bug fix: More strict calculation for the nearest filter (#558)
Better version of bae8f9d874
2018-03-21 02:40:26 +09:00
Hajime Hoshi
b8025d06f8 opengl: Specify texture wrap (CLAMP_TO_EDGE) 2018-03-21 02:27:11 +09:00
Hajime Hoshi
b157f2d6d0 Revert "graphics: Bug fix: More strict calculation for the nearest filter (#558)"
This reverts commit bae8f9d874.

Reason: TravisCI failed
2018-03-20 04:16:37 +09:00
Hajime Hoshi
a40dc5cf22 graphics: Refactoring shader 2018-03-20 04:05:09 +09:00
Hajime Hoshi
bae8f9d874 graphics: Bug fix: More strict calculation for the nearest filter (#558) 2018-03-20 04:05:03 +09:00
Hajime Hoshi
aaa603dd08 Revert "Revert "shareable: Avoid unneeded extending images""
This reverts commit 96b9f09058.

Fixes #561
2018-03-20 02:15:49 +09:00
Hajime Hoshi
3e929de08a shareable: Revert extending images
Fixes #562
2018-03-20 02:14:04 +09:00
Hajime Hoshi
be4e3ab801 restorable: Bug fix: partial ReplacePixels broke the image state (#562) 2018-03-20 02:14:00 +09:00
Hajime Hoshi
9d37221743 restorable: Refactoring 2018-03-19 23:55:06 +09:00
Hajime Hoshi
927a4388b5 graphics: Bug fix: rounding texels is required even on the nearest filter
Fixes #558
2018-03-19 10:37:18 +09:00
Hajime Hoshi
d421648e57 shareable: Bug fix: workaround to fix #562 by disabling extending 2018-03-19 03:26:31 +09:00
Hajime Hoshi
96b9f09058 Revert "shareable: Avoid unneeded extending images"
This reverts commit ce4e00ff79.

Reason: #560
2018-03-19 02:28:17 +09:00
Hajime Hoshi
b5d065151a restorable: Don't flatten vertices until actually needed 2018-03-18 23:54:45 +09:00
Hajime Hoshi
de3a8d8893 restorable: Remove comments 2018-03-18 18:14:11 +09:00
Hajime Hoshi
5ec5cf2450 ui: Add comments 2018-03-17 18:34:20 +09:00
Hajime Hoshi
526fbd3619 ui: Implement SetWindowDecorated and IsWindowDecorated
Fixes #430.
2018-03-17 18:30:55 +09:00
Hajime Hoshi
ce4e00ff79 shareable: Avoid unneeded extending images 2018-03-17 17:41:36 +09:00
Hajime Hoshi
e7925a12bd shareable: Refactoring 2018-03-16 01:21:33 +09:00
Hajime Hoshi
1b0e71765f internal/hooks: Rename Update -> BeforeUpdate 2018-03-15 02:50:10 +09:00
Hajime Hoshi
61d7f1e9b5 affine: Bug fix: (*GeoM).det() was wrong (#547) 2018-03-12 11:11:53 +09:00
Hajime Hoshi
c2872017ab affine: Add GeoM.Invert, IsInvertible (#547) 2018-03-11 19:13:39 +09:00
Hajime Hoshi
efea65ee58 graphics: Bug fix: wrong texels were used (#546) 2018-03-11 04:11:49 +09:00
Hajime Hoshi
b474946619 shareable: Implement extending shareable texture again
Related to #509
2018-03-11 01:36:47 +09:00
Hajime Hoshi
c37dd9d961 packing: Add Extend 2018-03-11 01:13:53 +09:00
Hajime Hoshi
48408cba11 shareable: Bug fix: Protect critical sections 2018-03-11 00:38:49 +09:00
Hajime Hoshi
c411ca492f shareable: Set finalizers 2018-03-11 00:07:32 +09:00
Hajime Hoshi
a2d6ae7eee shareable: Rename ImagePart -> Image 2018-03-11 00:05:06 +09:00
Hajime Hoshi
6c6b25647a shareable: Rename Image -> backend 2018-03-11 00:02:23 +09:00
Hajime Hoshi
df3960a97c Add internal/shareable 2018-03-10 23:59:26 +09:00
Hajime Hoshi
9555e83589 packing: Add IsEmpty tests 2018-03-10 21:27:11 +09:00
Hajime Hoshi
6c9d9dbaff packing: Improve test errors 2018-03-10 21:02:04 +09:00
Hajime Hoshi
1583cd0f7b packing: Enable to specify max size of a page 2018-03-10 20:53:20 +09:00
Hajime Hoshi
9c72671232 Revert "packing: Add Extend"
This reverts commit 1dd32066d2.

Reason: #542
2018-03-09 16:02:57 +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
0418ce0761 graphics: Refactoring: Remove duplication of checking image size 2018-03-09 11:04:02 +09:00
Hajime Hoshi
4628154478 graphics: Remove unused flipY member 2018-03-09 03:26:14 +09:00
Hajime Hoshi
00d8e793d9 restorable: Remove MaxImageSize 2018-03-09 02:50:38 +09:00
Hajime Hoshi
2c62e64a9e Revert "internal/graphics: increase defaultViewportSize to 8192 (#538)"
This reverts commit a60976f260 Per #541.
2018-03-09 02:13:44 +09:00
Hajime Hoshi
bc8a96eda7 graphicsutil: Avoid duplicated copying
Fixes #521
2018-03-09 01:00:23 +09:00
Hajime Hoshi
4c7025a05f graphicsutil: Add tests 2018-03-09 00:19:10 +09:00
Hajime Hoshi
2dc4f3fdf0 opengl: Remove FillFramebuffer
Fixes #536
2018-03-08 12:01:24 +09:00
Andrew Gerrand
a60976f260 internal/graphics: increase defaultViewportSize to 8192 (#538)
This makes it possible to run ebiten applications in full screen on 5k
displays, such as Apple's 27" iMac.

Fix issue #537
2018-03-08 11:53:49 +09:00
Hajime Hoshi
ef5de62780 Follow the standard comment rule
See https://golang.org/s/generatedcode
2018-03-08 02:47:59 +09:00
Hajime Hoshi
86be32dfb5 packing: Add comments 2018-03-08 00:18:28 +09:00
Hajime Hoshi
1dd32066d2 packing: Add Extend 2018-03-08 00:14:51 +09:00
Hajime Hoshi
8ac2ebde1e packing: Rename tests 2018-03-07 02:29:11 +09:00
Hajime Hoshi
951568e403 packing: Refactoring 2018-03-06 02:52:36 +09:00
Hajime Hoshi
7e70d5ca69 Rename bsp -> packing 2018-03-06 00:38:56 +09:00
Hajime Hoshi
8d98f297f2 graphics: Refactoring: Avoid type switch 2018-03-05 00:00:25 +09:00
Hajime Hoshi
f1ba3e5894 affine: Optimization Equals 2018-03-04 23:23:11 +09:00
Hajime Hoshi
3479b80f1c opengl: Use unsafe-way to convert []float32/[]uint16 to []byte; Remove internal/endian 2018-03-04 18:06:35 +09:00
Hajime Hoshi
7da65d64be bsp: Make bsp concurrent safe
Fixes #530. Finalizers can be called on different goroutines
2018-03-04 02:33:32 +09:00
Hajime Hoshi
8dbb11a23c graphicsutil: Remove Gosched that might be harmful on browsers
This was introduced at 006f87d02b but this can be harmful when many images are created by NewImageFromImage
2018-03-03 23:43:57 +09:00
Hajime Hoshi
08610fcd8b bsp: Fix tests 2018-03-03 23:30:59 +09:00
Hajime Hoshi
4ae9d5780c graphics: Implement shared texture (#514) 2018-03-03 19:54:53 +09:00
Hajime Hoshi
247cd6e1c3 Add graphicsutil package 2018-03-02 12:34:56 +09:00
Hajime Hoshi
d4112004b0 graphics: Move calculating source region from restorable package 2018-03-02 12:20:44 +09:00
Hajime Hoshi
d0592d30e0 graphics: Improve clearing the offscreen performance 2018-03-02 01:55:40 +09:00
Hajime Hoshi
e5089934db graphics: Bug fix: Don't delete buffers on browsers (#526) 2018-03-02 01:06:21 +09:00
Hajime Hoshi
4c1cc9e699 ui: Bug fix: exit update function once when the context is lost (#526) 2018-03-02 01:05:54 +09:00
Hajime Hoshi
dada2e060a restorable: Bug fix: Don't use graphics.Image for clearing framebuffer 2018-03-02 01:05:54 +09:00
Hajime Hoshi
cd8368deaf restorable: Add TODO comment 2018-03-02 00:00:09 +09:00
Hajime Hoshi
db738676ce restorable: Refactoring: clearIfVolatile 2018-03-01 23:13:23 +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
1a898dd1b9 Add comments 2018-03-01 02:49:45 +09:00
Hajime Hoshi
676a023a30 restorable: Remove unneeded NextPowerOf2Int usage 2018-03-01 02:45:23 +09:00
Hajime Hoshi
1068156215 restorable: Add restoring case to TestReplacePixels 2018-03-01 02:43:59 +09:00
Hajime Hoshi
127f6c09c8 graphics: Specify rect to glTexSubImage2D 2018-03-01 01:58:09 +09:00
Hajime Hoshi
9f6fd0db9a graphics: Use the original width/height for glTexSubImage2D 2018-03-01 00:47:37 +09:00
Hajime Hoshi
15d2e6b82b graphics: Fix comments 2018-02-28 23:40:43 +09:00
Hajime Hoshi
c624359163 graphics: Remove glClear before glTexSubImage2D, that is no longer needed 2018-02-28 23:35:05 +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
8ef0f1ac6a restorable: Avoid unneeded discarding images 2018-02-28 15:56:51 +09:00
Hajime Hoshi
dca60a2520 affine: Make initial affine.GeoM{} value identity (again) 2018-02-28 02:38:57 +09:00
Hajime Hoshi
1a2a108639 affine: Add comments 2018-02-28 02:21:07 +09:00
Hajime Hoshi
2f1908b05c restorable: Use nil instead of empty affine.ColorM 2018-02-28 02:14:10 +09:00
Hajime Hoshi
ccd9241b07 affine: Refactoring ColorM 2018-02-28 02:14:09 +09:00
Hajime Hoshi
8c8e512059 affine: User nillable pattern for ColorM 2018-02-28 02:14:06 +09:00
Hajime Hoshi
bea63946fc affine: Bug fix: ColorM.Apply was wrong when alpha is 0 2018-02-27 12:16:16 +09:00
Hajime Hoshi
adbd0db765 restorable: Accept source rect and geom instead of vertices 2018-02-27 01:35:30 +09:00
Hajime Hoshi
2bd099014b affine: Remove geoMImpl and use nillable pattern 2018-02-27 01:02:53 +09:00
Hajime Hoshi
f953afc518 internal/bsp: Refactoring 2018-02-26 11:26:32 +09:00
Hajime Hoshi
798a826e50 internal/bsp: Allow 1 pixel 2018-02-26 11:21:50 +09:00
Hajime Hoshi
ed2bd6defc internal/bsp: Fix algorithm 2018-02-26 11:20:20 +09:00
Hajime Hoshi
519a75e5a8 restorable: Bug fix: Clearing framebuffers was not complete 2018-02-25 23:53:27 +09:00
Hajime Hoshi
86671f3337 opengl: Remove pixels argument from NewTexture 2018-02-25 23:34:34 +09:00
Hajime Hoshi
85b133dad0 graphics: Remove NewImageFromImage command 2018-02-25 23:22:49 +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
b88b86e0e7 Add internal/bsp (#514) 2018-02-25 21:26:12 +09:00
Hajime Hoshi
0cc456b534 ui: Rename sizeChanged -> toChangeSize 2018-02-25 00:44:45 +09:00
Hajime Hoshi
04341a014c ui: Add comments 2018-02-25 00:44:41 +09:00
Hajime Hoshi
58f5c9c1d0 graphics: Refactoring: clearing framebuffer 2018-02-24 23:51:05 +09:00
Hajime Hoshi
a2d40e0908 graphics: Remove offsetX/offsetY from framebuffer 2018-02-24 23:35:55 +09:00
Hajime Hoshi
c5d1f11d95 graphics: Remove unused argument from projectionMatrix 2018-02-24 23:33:28 +09:00
Hajime Hoshi
9da5099060 graphics: Refactoring: Flip Y by geometry matrix instead of projection matrix 2018-02-24 23:32:36 +09:00
Hajime Hoshi
a644e92298 restorable: Better calculation to clear restorable.Image 2018-02-24 21:16:30 +09:00
Hajime Hoshi
da20b3f49a restorable: Bug fix: Clear screen framebuffer on fullscreen mode
Fixes #513
2018-02-24 20:48:47 +09:00
Hajime Hoshi
692f36f664 graphics: Add comments 2018-02-24 20:40:26 +09:00
Hajime Hoshi
78a58fd1ae ui: Bug fix: userInterface.fullscreen() must be called from the main thread 2018-02-24 18:10:39 +09:00
Hajime Hoshi
b58dc26832 graphics: Remove fillCommand 2018-02-24 16:19:43 +09:00
Hajime Hoshi
fe7aae32a0 restorable: Remove graphics.Image.Fill usage 2018-02-24 16:18:18 +09:00
Hajime Hoshi
2ba89591db restorable: Remove Fill 2018-02-24 15:14:53 +09:00
Hajime Hoshi
a87f197c1b ui: Add TODO 2018-02-24 14:50:45 +09:00
Hajime Hoshi
af64f8689a graphics: Fix screen filter calculation 2018-02-24 04:25:07 +09:00
Hajime Hoshi
9fba60ca03 Revert "graphics: Adjust texel positions for consitency"
This reverts commit 816fb314a4.
2018-02-24 01:52:49 +09:00
Hajime Hoshi
816fb314a4 graphics: Adjust texel positions for consitency
On second thought, given pixel coords represent a center of texels...
2018-02-24 01:52:05 +09:00
Hajime Hoshi
7c66d884d4 graphics: Adjusting position is no longer needed
Now pixel position is treated as left-upper in linear filter
2018-02-24 01:32:48 +09:00
Hajime Hoshi
e5a2cf29c0 graphics: Bug fix: pixel coord is upper-left by default 2018-02-24 01:16:32 +09:00
Hajime Hoshi
c76ff5ceb2 graphics: Bug fix: fix screen filter calculation
Fixes #512
2018-02-23 23:13:20 +09:00
Hajime Hoshi
2507379494 restorable: Skip resolving stale images when possible 2018-02-23 03:19:20 +09:00
Hajime Hoshi
b036cac616 graphics: Fix screen filter calculation 2018-02-23 02:36:12 +09:00
Hajime Hoshi
591e0ad995 graphics: Add 'screen' filter for fast rendering (#509) 2018-02-23 01:28:35 +09:00
Hajime Hoshi
092cb2f3f6 graphics: Reset source size parameter just in case 2018-02-22 11:27:15 +09:00
Hajime Hoshi
d4b8b99784 ui: Bug fix: return is needed for Edge case
Fixes #507
2018-02-21 21:53:49 +09:00
Hajime Hoshi
30e48d5c3c graphics: Stop unnecessary copy of elements (projection matrix) 2018-02-20 01:36:56 +09:00
Hajime Hoshi
40b1948baa graphics: Stop unnecessary copy of elements 2018-02-20 01:17:21 +09:00
Hajime Hoshi
f1f7e5bcec affine: Transpose ColorM implementation for optimization 2018-02-20 00:53:53 +09:00
Hajime Hoshi
9b361086d7 affine: Use float32 inside of ColorM 2018-02-20 00:33:56 +09:00
Hajime Hoshi
2db1753503 opengl: Remove struct usages to avoid copying (texture) 2018-02-19 02:49:00 +09:00
Hajime Hoshi
f85c846596 opengl: Remove invalidFramebuffer and use nil instead 2018-02-19 02:22:05 +09:00
Hajime Hoshi
1154fcf470 opengl: Remove unused casts 2018-02-19 02:20:28 +09:00
Hajime Hoshi
2936ea5080 opengl: Remove struct usages to avoid copying (framebuffer) 2018-02-19 02:18:56 +09:00
Hajime Hoshi
9400720ddf opengl: Remove struct usages to avoid copying (shader) 2018-02-19 02:06:06 +09:00
Hajime Hoshi
9dc68289b8 opengl: Remove struct usages to avoid copying (buffer) 2018-02-19 02:03:01 +09:00
Hajime Hoshi
c6cf8e5184 opengl: Remove struct usages to avoid copying (program) 2018-02-19 01:45:03 +09:00
Hajime Hoshi
2fbfd0bdcb opengl: Remove struct usages to avoid copying 2018-02-19 01:38:17 +09:00
Hajime Hoshi
896a47b2ee affine: Reduce copying cost of GeoM 2018-02-18 23:39:24 +09:00
Hajime Hoshi
6ef4bbde2d graphics: Add FilterDefault; Make DrawImageOptions specify Filter (#453) 2018-02-14 02:59:44 +09:00
Hajime Hoshi
929dfa1cfb affine: Implement ColorM.Add for backward compatibility: Don't use this anyway 2018-02-13 03:06:19 +09:00
Hajime Hoshi
cc423c276d ui: Avoid creating empty slice at Touches 2018-02-12 20:23:24 +09:00
Hajime Hoshi
7d9b901ab3 ui: Avoid creating empty slice at GamepadIDs 2018-02-12 20:20:39 +09:00
Hajime Hoshi
95480d0644 affine: Separate ColorM impl into two slices
This fix avoids unnecessary allocating arrays.
2018-02-12 19:01:01 +09:00
Hajime Hoshi
392ee92aeb Add internal/hooks to replace internal/audiobinding 2018-02-04 17:33:17 +09:00
Hajime Hoshi
e3023889ac ui: Change RegularTermination to a value 2018-02-04 00:22:38 +09:00