Hajime Hoshi
0c70823f27
graphics: Delay draw commands and execute them only when needed
...
This change introduces a queue for delayed graphics commands.
When an image's pixels are retrieved or the screen is rendered,
Ebiten calculates the set of the necessary draw commands and
execute them.
This reduces the number of draw calls especially for the launching
phase.
Fixes #921
2019-09-19 01:09:48 +09:00
Hajime Hoshi
2621681a2a
graphics: Add TestImageDrawTrianglesAndMutateArgs
2019-09-18 23:52:11 +09:00
Hajime Hoshi
cdddf48f89
Add build directories for tests especially for Windows
2019-09-18 11:12:23 +09:00
Hajime Hoshi
d2d21b3a01
mobile/ebitenmobileview: Fix build errors
2019-09-18 11:01:58 +09:00
Hajime Hoshi
b8afa2f9c6
mobile/ebitenmobileview: Add a dummy file for non-mobile environments
2019-09-18 10:52:59 +09:00
Hajime Hoshi
845f2bdeb8
Remove unneeded comments
2019-09-18 10:49:20 +09:00
Hajime Hoshi
439599a145
mobile/ebitenmobileview: Bug fix: ebitenmobile should be ignored on non-mobile platforms
2019-09-18 10:46:35 +09:00
Hajime Hoshi
689d230cb7
vorbis: Embed files for tests
...
Updates #881
2019-09-15 19:50:56 +09:00
Hajime Hoshi
1acf110078
cmd/ebitenmobile: Rename onPause/onResume to suspendGame/resumeGame
...
Fixes #894
2019-09-14 15:36:40 +09:00
Hajime Hoshi
c648b40e20
mobile/ebitenmobile: Implement setScreenSize
...
This change also fixes the bug that Android froze when the view
size is changed.
Fixes #934
2019-09-14 14:49:38 +09:00
Hajime Hoshi
7547207e2d
cmd/ebitenmobile: Ensure that rendering never happens on background
2019-09-13 22:49:07 +09:00
Hajime Hoshi
31e0721973
cmd/ebitenmobile: Ensure that frame-update never happens on background
2019-09-13 11:47:45 +09:00
Hajime Hoshi
af3b7117c3
cmd/ebitenmobile: Refactoring
2019-09-13 03:26:13 +09:00
Hajime Hoshi
16337bb6bf
cmd/ebitenmobile: Add suspendGame/resumeGame to the ViewController
...
Updates #894
2019-09-13 03:19:01 +09:00
Hajime Hoshi
71b28b6211
event: Bug fix: Add chan.go
...
Updates #926
2019-09-12 22:01:09 +09:00
Hajime Hoshi
695c93efd6
event: Add a converting function from driver.Event to event.Event
...
Update #926
2019-09-12 21:59:13 +09:00
Hajime Hoshi
529ab5f191
event: Auto-generate event definitions ( #935 )
...
As event package needs to depend on driver package, and drvier
package needs to emit events, we need event definitions in both
side. This change add a generator for event definitions.
Updates #926
2019-09-12 11:32:20 +09:00
Hajime Hoshi
e85c847376
input: Refactoring: Use filepath.Join
2019-09-11 01:08:48 +09:00
Hajime Hoshi
3fb9c02e2f
graphicsdriver/metal: Bug fix: Use correct pixel format for the screen
2019-09-08 03:52:29 +09:00
Hajime Hoshi
ef91fb739f
cmd/ebitenmobile: Bug fix: Resume the view correctly
2019-09-07 02:33:38 +09:00
Hajime Hoshi
dbb8a5e873
audio: Block all the players when suspended
...
This avoid to write 0 bytes when the app is in background. This
should reduce CPU usage.
Updates #931
2019-09-07 02:03:59 +09:00
Hajime Hoshi
c982e00bb0
Fix .travis.yml not to test the playground
...
Updates #871
2019-09-03 02:06:37 +09:00
Hajime Hoshi
675db373da
Remove driver getters for the playground
...
Unless the driver implementation is finished for the playground,
this is confusing. Let's remove this.
Updates #871
2019-09-03 01:47:48 +09:00
Hajime Hoshi
52900fac79
Move back driver getters to ebiten package
2019-09-03 01:46:11 +09:00
Hajime Hoshi
ba08a5bb55
event: Add a comment at Modifier
...
Updates #926
2019-09-03 01:18:20 +09:00
Hajime Hoshi
25a2bf3c1f
event: Add Modifier
...
Modifier keys are selected of a common set of GLFW keys [1] and Web
API keys [2].
This change also renames the member Modifiers to Modifer to
follow the convension (e.g., [3]).
Updates #926
[1] https://www.glfw.org/docs/latest/group__mods.html
[2] https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState
[3] https://godoc.org/golang.org/x/tools/go/packages#Config
2019-09-03 01:12:50 +09:00
Hajime Hoshi
06d38790ff
event: Add Key ( #933 )
...
This also renames event names from Key* to KeyboardKey*.
Updates #926
2019-09-03 00:45:27 +09:00
Hajime Hoshi
272923da65
Revert gomobile version
...
The latest version includes an issue: golang/go#33937
2019-09-02 03:00:17 +09:00
Hajime Hoshi
56f45d77bd
Update dependencies
2019-09-02 02:57:19 +09:00
Hajime Hoshi
05f4ca2a4d
input: Refactoring: nameToJSKeyCodes -> nameToJSKeyCode
2019-09-02 00:30:17 +09:00
Hajime Hoshi
83b2d4b112
input: driver.Key now distinguishes left/right modifier keys
...
This is a preparation for event package, that will have key enum.
Updates #926
2019-09-01 23:49:00 +09:00
Hajime Hoshi
23002c7597
input: Refactoring
2019-09-01 21:49:25 +09:00
Hajime Hoshi
e465c59395
input: Refactoring
2019-09-01 18:46:54 +09:00
Hajime Hoshi
31a47d05b1
event: Add comments about backforward compatibility
2019-08-31 01:05:50 +09:00
Hajime Hoshi
96f6714b66
Add Beoran to AUTHORS
2019-08-31 01:04:43 +09:00
Beoran
d51d5f2eb0
Add package event ( #930 )
...
Package event is a package that models events that occur during
the execution of a program. The current implementation is mock
and we plan to add implementation later.
Updates #926
2019-08-31 01:03:21 +09:00
Hajime Hoshi
19103dcfeb
graphicscommand: Bug fix: Adjust vertices to avoid jaggy
...
If vertices are (almost) half-integer values, adjust them to avoid
jaggy.
Fixes #929 .
2019-08-27 23:18:08 +09:00
Hajime Hoshi
22c31da6c1
restorable: Bug fix: Do not include emptyImage into the dependency graph
...
Instead, add baseColor to Pixels and use it when restoring.
Fixes #928 .
2019-08-27 08:17:14 +09:00
Hajime Hoshi
76330c492c
shareable: Refactoring
2019-08-26 00:32:30 +09:00
Hajime Hoshi
464713f19d
graphics: Refactoring
2019-08-25 22:06:20 +09:00
Hajime Hoshi
3646e7930d
graphics: Bug fix: the flag and the enqueueing operation must be protected by a same mutex
...
It was theoretically possible that an item was enqueued even
though the flag said it should not.
2019-08-25 21:22:54 +09:00
Hajime Hoshi
fc939fabb8
graphics: Bug fix: Copy variables out of the closures
2019-08-25 21:06:44 +09:00
Hajime Hoshi
d2312f1450
shareable: Lock before BeginFrame
...
This make package shareable more consistent. The mutex is lock
after EndFrame and before BeginFrame, and the similar rule will be
applied at launching (BeginFrame unlocks the lock in any cases).
Instead, package ebiten queues image operations if BeginFrame and
doesn't create provisional non-shared images. This should improve
performance at launching since this reduces the number of draw
calls, especifally for creating new images.
Updates #879 .
Updates #921 .
2019-08-25 18:12:04 +09:00
Hajime Hoshi
7907bb43ce
shareable: Refactoring: reduce sync.Once
2019-08-25 17:32:32 +09:00
Hajime Hoshi
b53279b1e1
shareable: Remove InitializeGraphicsDriverState
2019-08-25 17:28:59 +09:00
Hajime Hoshi
3960a4bbdf
restorable: Add (*Image).Fill
...
This resets the infomation for restoring if possible. This makes
it more efficient to use offscreens.
2019-08-25 02:57:44 +09:00
Hajime Hoshi
856e2df1ec
web: Bug fix: compile error on browsers
2019-08-25 02:40:28 +09:00
Hajime Hoshi
b8eeded538
graphics: Remove 'resetRestoringState'
...
This is basically a revert of 2d079b123f
As filling can happen on a part of a shared image, resetting the
restoring state was wrong.
2019-08-25 02:18:51 +09:00
Hajime Hoshi
e931494c66
shareable: Allocate the screen framebuffer image lazily
...
This improves consistency.
2019-08-25 00:43:29 +09:00
Hajime Hoshi
ef56d0a535
Refactoring: isRunning -> isImageAvailable
2019-08-25 00:14:37 +09:00