Commit Graph

3363 Commits

Author SHA1 Message Date
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
Hajime Hoshi
916c7aac8a restorable: Fix comments 2018-04-29 13:49:33 +09:00
Hajime Hoshi
45afb6db67 Reland: restorable: Merge Clear to ReplacePixel 2018-04-29 13:40:18 +09:00
Hajime Hoshi
81dfc13b21 text: Remove duplicated glyphs 2018-04-28 22:50:45 +09:00
Hajime Hoshi
452a9b14a4 graphics: Rename EBITEN_DUMP_IMAGES_KEY to EBITEN_INTERNAL_IMAGES_KEY 2018-04-28 22:24:03 +09:00
Hajime Hoshi
a36bb5dffd graphics: Changed screenshot image location for consistency 2018-04-28 22:19:24 +09:00
Hajime Hoshi
613f384cb5 graphics: Add EBITEN_DUMP_IMAGES_KEY
Fixes #589
2018-04-28 22:08:20 +09:00
Hajime Hoshi
eb357f61b5 restorable: Bug fix: Calling At must resolve the image's stale state 2018-04-28 21:56:20 +09:00
Hajime Hoshi
245dde9bc1 graphics: Refactoring: screenshot dump: remove global variables 2018-04-28 05:01:12 +09:00
Hajime Hoshi
177f4c5108 docs: Remove some redundant comments 2018-04-28 03:40:59 +09:00
Hajime Hoshi
b22cc9d4be Add periods after 'DO NOT EDIT' 2018-04-28 03:37:19 +09:00
Hajime Hoshi
0bc712422f restorable: Bug fix: Remove SetFinalizer for disposing
SetFinalizer causes concurrent issue
2018-04-27 12:08:59 +09:00
Hajime Hoshi
be3d529767 text: Bug fix: one image should be used for multiple glyphs (#535) 2018-04-26 02:41:01 +09:00