Commit Graph

3625 Commits

Author SHA1 Message Date
Hajime Hoshi
efaa5aa17a graphics: Refactor shader 2018-05-13 03:31:28 +09:00
Hajime Hoshi
b69d564d89 examples/life: Refactoring 2018-05-13 00:38:33 +09:00
Hajime Hoshi
f7c19ef517 examples/drag: Put the moving sprites frontend 2018-05-12 23:22:50 +09:00
Hajime Hoshi
62c5511314 docs: Add 'autoplay' attribution on iframes
Fixes #609
2018-05-12 17:46:44 +09:00
Hajime Hoshi
ff200e735f docs: Bug fix: add drags example 2018-05-12 17:46:03 +09:00
Hajime Hoshi
63467ed700 docs: Add 'drag' example 2018-05-12 17:26:37 +09:00
Hajime Hoshi
07009501f9 examples: Move resource files 2018-05-12 17:09:42 +09:00
Hajime Hoshi
3ccfe087d9 Refactoring 2018-05-12 15:25:01 +09:00
Hajime Hoshi
453921f1d3 ui: Bug fix: sizeChange must be set after updateFullscreenScaleIfNeeded 2018-05-12 02:11:37 +09:00
Hajime Hoshi
59dc58a74c inpututil: Bug fix: prevGamepadButtondDurations was not copied correctly 2018-05-11 02:45:09 +09:00
Hajime Hoshi
252f4430d8 examples/drag: Add touches (#506) 2018-05-11 02:02:33 +09:00
Hajime Hoshi
5677c8a916 inpututil: Bug fix: prevTouchDurations was not updated correctly 2018-05-11 01:44:29 +09:00
Hajime Hoshi
f5336ce7bc opengl: Use 'EXT' functions for framebuffers
Some pretty old machines don't support OpenGL 3.x or later, and in
such environment, some framebuffer functions like glGenFramebuffers
are not available. Instead, EXT versions can be used even on
machines that don't support OpenGL 3.x.

After this change, Ebiten always tries to use EXT version of
framebuffer functions. I believe EXT version is always available
when non-EXT version is available, so this chang eshould be safe.

Fixes #602
2018-05-10 02:11:23 +09:00
Hajime Hoshi
92631e64ed Remove internal/sync
nosync package for GopherJS is problematic since nosync's mutex
assumes that Lock call is never duplicated, which is not true in
actual applications.

See also #603.
2018-05-09 23:41:08 +09:00
Hajime Hoshi
df048d9bf6 audio: Don't use nosync GopherJS
nosync package is good in terms of performance, but this assumes
that duplicated lock never happens. As audio package runs multiple
goroutines, theoretically duplicated lock can happen, and it looks
like this is an actual case (#603).

This change replaces nosync usages with regular sync usages.

Probably I'll deprecate nosync usages via internal/sync package
everywhere in Ebiten.

This might fix #603.
2018-05-09 12:14:20 +09:00
Hajime Hoshi
c22857ca89 affine: Implement (*GeoM).String() and (*ColorM).String()
Fixes #586
2018-05-08 01:53:59 +09:00
Hajime Hoshi
fbeed96bb5 input: Add TouchIDs and TouchPosition (#497)
This change deprecates Touch interface and Touches function.
2018-05-07 00:31:46 +09:00
Hajime Hoshi
167d21ec46 devicescale: Panic on Android when called from init funcs 2018-05-05 03:16:29 +09:00
Hajime Hoshi
d8dba69b47 ui: Add MonitorSize
Fixes #470
2018-05-05 02:42:45 +09:00
Hajime Hoshi
9a06b31556 ui: Don't panic at DeviceScaleFactor in init
Fixes #597
2018-05-05 01:28:29 +09:00
Hajime Hoshi
d41f959b96 ui: Initialize GLFW before Run 2018-05-04 23:55:23 +09:00
Hajime Hoshi
6d1342a934 mobile: Add comments when to call functions 2018-05-04 00:44:03 +09:00
Hajime Hoshi
fd43848568 mobile: Move mutex to mobile.go 2018-05-03 22:07:03 +09:00
Hajime Hoshi
7a00f0f599 mobile: Bug fix: mutex is necessary for start and update
mobile's Start and Update can be called from different threads.
Especially, on Android, this behavior is noted explicitly at
https://developer.android.com/reference/android/opengl/GLSurfaceView.Renderer
2018-05-03 22:02:49 +09:00
Hajime Hoshi
f1927d8aca shareable: Add tests 2018-05-03 14:10:43 +09:00
Hajime Hoshi
e53fa53f7d graphics: Prefer ReplacePixels to DrawImage for small images 2018-05-03 11:52:04 +09:00
Hajime Hoshi
03dcd94884 shareable: Bug fix: Don't mark disposed when the image becomes not shared 2018-05-03 11:49:55 +09:00
Hajime Hoshi
9efccea31c ui: Add SetWindowTitle
Fixes #595
2018-05-02 19:21:17 +09:00
Hajime Hoshi
0e19aa558a graphics: Remove unneeded GL calls 2018-05-02 01:12:17 +09:00
Hajime Hoshi
6a34b87a6c opengl: Refactoring 2018-05-02 01:01:04 +09:00
Hajime Hoshi
4d3d407205 graphics: Add comments to At 2018-05-01 18:07:52 +09:00
Hajime Hoshi
b60d549924 Add examples/drag (#506) 2018-05-01 01:12:40 +09:00
Hajime Hoshi
154d663d81 inpututil: Rename TouchDuration -> TouchPressDuration 2018-04-30 20:23:58 +09:00
Hajime Hoshi
db3effe65a inpututil: Rename JustPressedTouches -> JustPressedTouchIDs 2018-04-30 20:07:27 +09:00
Hajime Hoshi
342551da8d examples: Add iOS explanation 2018-04-30 19:49:02 +09:00
Hajime Hoshi
1d70ee7988 examples: gomobilebuild build tag is no longer needed 2018-04-30 19:43:29 +09:00
Hajime Hoshi
a355d701ad inpututil: Replace JustDisconnectedGamepadIDs with IsGamepadJustDisconnected (#505) 2018-04-30 04:35:10 +09:00
Hajime Hoshi
e4ee3100db ui: Fix comments 2018-04-30 03:58:04 +09:00
Hajime Hoshi
52dea245dc examples/blocks: Use IsGamepadButtonJustPressed 2018-04-30 03:43:50 +09:00
Hajime Hoshi
ea1444ea7e shareable: Add checks at operations for disposed images 2018-04-30 03:34:35 +09:00
Hajime Hoshi
9df977dff8 shareable: Add 'disposed' state instead of 'allocated' state 2018-04-30 03:30:10 +09:00
Hajime Hoshi
b1c55f395f examples/gamepad: Refactoring 2018-04-30 03:07:02 +09:00
Hajime Hoshi
c9a244f498 inpututil: Admit some functions to return nil 2018-04-30 03:03:12 +09:00
Hajime Hoshi
e33ca9a4c1 inpututil: Add comments 2018-04-30 02:52:56 +09:00
Hajime Hoshi
9d57350a42 inpututil: Add JustConnectedGamepadIDs / JustDisconnectedGamepadIDs
Fixes #505
2018-04-30 02:51:38 +09:00
Hajime Hoshi
7a94b49a33 inpututil: Make JustPressedTouches deterministic 2018-04-30 02:43:08 +09:00
Hajime Hoshi
8c258cce7d inpututil: Rename states -> durations 2018-04-30 02:19:53 +09:00
Hajime Hoshi
5dc1df3260 shareable: Fix tests 2018-04-29 19:15:04 +09:00
Hajime Hoshi
1f1847c259 shareable: Remove println 2018-04-29 19:10:36 +09:00
Hajime Hoshi
9c408dce7c shareable: Lazy allocation (#592)
Clear is called when an image becomes a render target, and it
looks like Clear causes the memory spikes.

Before this change, when an image is created, shared region on a GL
texture is allocated. After that, the image's region is copied to
non-shared region when the image becomes a rendering target.

After this change, an image is not allocated on a GL texture first,
and allocated only when it is necessary. Then, Clear calls can be
avoided as much as possible.
2018-04-29 18:51:51 +09:00