Commit Graph

2004 Commits

Author SHA1 Message Date
Hajime Hoshi
d83799acf8 opengl: Bug fix: mobile build failure 2018-06-20 11:16:21 +09:00
Hajime Hoshi
8d644479cc opengl: Initialize consts first to avoid 'Get' calls 2018-06-19 04:02:56 +09:00
Hajime Hoshi
62bd35e412 Avoid 'Get' call if possible
(*js.Value).Get has some overhead especially on Wasm.
2018-06-19 03:43:24 +09:00
Hajime Hoshi
702a429afb opengl: Faster conversion from []float32 to Float32Array 2018-06-19 03:31:53 +09:00
Hajime Hoshi
840c4d24df graphicsutil: Accept matrix parameters directly for performance 2018-06-19 00:19:32 +09:00
Philipp Steinhaus
39b3170185 input: Enable mouse wheel input (#628) 2018-06-18 00:38:30 +09:00
Hajime Hoshi
a3c754d2cc graphics: Restrict QuadVertices to allow only power of 2 sizes
Now QuadVertices can skip calculating power of 2 values.
2018-06-17 23:05:19 +09:00
Hajime Hoshi
12287a8382 graphicsutil: Reduce multiplying 2018-06-17 20:11:31 +09:00
Hajime Hoshi
ac24a8382f graphicsutil: Extract matrix applying for performance 2018-06-17 19:45:09 +09:00
Hajime Hoshi
1849b59741 graphicsutil: Refactoring 2018-06-17 17:29:36 +09:00
Hajime Hoshi
5d37c331bb graphicsutil: Remove unused arguments 2018-06-17 16:38:21 +09:00
Hajime Hoshi
95561bbf6b affine: Use float32 values for GeoM
float32 was slow on GopherJS, but not slow on Wasm.
2018-06-17 15:38:10 +09:00
Hajime Hoshi
4c2fc30311 graphicsutil: Don't allow nil GeoM 2018-06-17 01:48:56 +09:00
Hajime Hoshi
f6b7a6be73 graphics: Use copy function in appendVertices 2018-06-17 01:09:05 +09:00
Hajime Hoshi
b4ace53596 affine: Remove GeoM to avoid GeoM allocations on the heap 2018-06-17 00:59:50 +09:00
Hajime Hoshi
460c47a9eb opengl: Pass slices to js.Value 2018-06-16 02:19:18 +09:00
Hajime Hoshi
3fbe8d8ecb opengl: Change Shader/Program/Buffer to js.Value 2018-06-16 00:30:16 +09:00
Hajime Hoshi
2497b64cf7 opengl: Change uniformLocation to js.Value 2018-06-16 00:30:16 +09:00
Hajime Hoshi
17ccf06755 opengl: Change Texture/Framebuffer to js.Value 2018-06-16 00:30:16 +09:00
Hajime Hoshi
48e2c2aba9 opengl: Use gopherwasm 2018-06-16 00:30:16 +09:00
Hajime Hoshi
b87a851c0e ui: New GopherWASM API 2018-06-16 00:26:28 +09:00
Hajime Hoshi
a90b7efdf4 shareable: Refactoring 2018-06-11 01:02:25 +09:00
Hajime Hoshi
3ee76ffd8e graphicsutil: Move vertices.go to graphicsutil 2018-06-10 23:08:22 +09:00
Hajime Hoshi
9745ccee47 restorable: Make (*Image).DrawImage accept vertices and indices 2018-06-10 22:59:00 +09:00
Hajime Hoshi
97a54548df restorable: Rename vertices -> quadVertices 2018-06-10 20:41:17 +09:00
Hajime Hoshi
600983e028 restorable: Record indices for restoring 2018-06-10 20:17:48 +09:00
Hajime Hoshi
2e5e7e6e24 restorable: Remove merging commands for code simplicity 2018-06-10 20:06:17 +09:00
Hajime Hoshi
03079ba067 restorable: Refactoring 2018-06-10 18:40:46 +09:00
Hajime Hoshi
c782380a1c restorable: Specify indices from restorable package 2018-06-10 18:17:58 +09:00
Hajime Hoshi
2853895e6b graphics: Refactoring: Rename functions 2018-06-10 17:53:57 +09:00
Hajime Hoshi
32ac3840a7 graphics: Add comments 2018-06-10 17:10:11 +09:00
Hajime Hoshi
4e21bfd005 graphics: Rename elements -> indices 2018-06-10 17:06:40 +09:00
Hajime Hoshi
8a268e871f graphics: Specify indices before commands 2018-06-10 17:04:58 +09:00
Hajime Hoshi
be665a3526 ui: Better way to avoid blocking
Fixes #625
2018-06-09 13:36:35 +09:00
Hajime Hoshi
6e12f287b0 ui: Use goroutine to avoid blocking on GopherJS 2018-06-09 03:05:37 +09:00
Hajime Hoshi
e6d0943366 graphics: Rename color_matrix -> color_matrix_body 2018-06-06 02:46:54 +09:00
Hajime Hoshi
b86860abcc graphics: Call BindBuffer only when the program was null 2018-06-04 00:13:23 +09:00
Hajime Hoshi
fac639f9b7 graphics: Refactoring: Remove drawImageCommand.quadsNum 2018-06-03 23:58:08 +09:00
Hajime Hoshi
c9dd04d471 graphics: Refactoring: Remove command groups 2018-06-03 23:13:01 +09:00
Hajime Hoshi
9d87622a19 graphics: Set elements for every EnqueueDrawImageCommand 2018-06-03 20:42:45 +09:00
Hajime Hoshi
525ad04568 graphics: Split the notion of vertices and elements 2018-06-03 16:07:26 +09:00
Hajime Hoshi
25f2dfc677 graphics: Refactoring 2018-06-03 01:43:10 +09:00
Hajime Hoshi
03e3f0f5f7 graphics: Call glBufferSubData for element array buffer every frame
This is a preparation for more flexible drawing commands.
2018-05-31 00:53:05 +09:00
Hajime Hoshi
5e93d75ae0 graphics: Fix comments 2018-05-28 02:38:26 +09:00
Hajime Hoshi
399f965729 opengl: Add BindBuffer accepting both element-array-buffer and array-buffer
This change is a pure refactoring to clarify that array buffer is
binded before its usage.
2018-05-28 00:34:00 +09:00
Hajime Hoshi
311788dfe2 ui: Remove warnings of deadlock
Now gopherwasm fixed this problem by avoiding js.MakeFunc.

See also: 3fe87b73c0
2018-05-27 04:10:14 +09:00
Hajime Hoshi
8e9c3bd304 ui: Use gopherwasm 2018-05-27 02:35:17 +09:00
Hajime Hoshi
faaf391619 audio: Give up syncing audio timer and game timer (#617)
Syncing was already incomplete (e.g. decoding takes more than one
frame and delays can happen in this case). Giving up syncing audio
timer and game timer should not affect the game experience so much.
Instead, clock implementation will be much simpler.
2018-05-27 00:30:12 +09:00
Hajime Hoshi
5976e4bbbc audio: More intellegent suspending/resuming (#617)
Before this change, the audio is suspended when the game stops for
1/12[s]. However, as game often stops for more than 1/12[s]
especially on mobiles, this implemntation caused some audio
glitches.

This change fixes this problem by re-implementing suspending/
resumeing audio by detecting the window is active/focused or not.
2018-05-26 23:31:04 +09:00
Hajime Hoshi
d88d1be4ad mobile: Refactoring 2018-05-26 22:51:30 +09:00
Hajime Hoshi
980055e07a devicescale: Use gopherwasm 2018-05-25 02:00:41 +09:00
Hajime Hoshi
d894a13698 web: Use gopherwasm 2018-05-25 01:59:50 +09:00
Hajime Hoshi
2ec075004a clock: Use gopherwasm 2018-05-25 01:14:31 +09:00
Hajime Hoshi
4c5613d73c opengl: Remove unneeded casts 2018-05-23 01:29:16 +09:00
Hajime Hoshi
b84dc0585d opengl: Remove dependencies on gopherjs/webgl
This is a preparation for #528
2018-05-23 00:48:24 +09:00
Hajime Hoshi
81a1fd4744 testflock: Use just sync.Mutex on browsers (#615) 2018-05-19 21:10:34 +09:00
Hajime Hoshi
0637a812bc web: Fix detecting mobile browsers for NodeJS 2018-05-16 22:29:19 +09:00
Hajime Hoshi
a5eb1b84ab web: Better way to detect NodeJS 2018-05-16 22:10:35 +09:00
Hajime Hoshi
c2df8326fc ui: Refactoring: Use IsNodeJS 2018-05-16 22:02:33 +09:00
Hajime Hoshi
d7d892f2d6 graphics: Allow a little margin for edge pixels 2018-05-13 23:00:06 +09:00
Hajime Hoshi
a1dd7b39a3 graphics: Remove roundTexel function
Actually, at least 704d4cf464,
examples/moire doesn't work well without roundTexel on MacBook Pro.
However, now other parts are fixed (e.g. highp is used), it looks
like roundTexel is no longer needed.
2018-05-13 22:30:22 +09:00
Hajime Hoshi
b402cddd01 graphics: Bug fix: wrong refactoring in shader 2018-05-13 14:20:54 +09:00
Hajime Hoshi
efaa5aa17a graphics: Refactor shader 2018-05-13 03:31:28 +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
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
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
f1927d8aca shareable: Add tests 2018-05-03 14:10:43 +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
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
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
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
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
dff492955d shareable: Reset finalizer in any cases 2018-04-26 01:51:57 +09:00
Hajime Hoshi
1cf4f30541 Revert "restorable: Merge Clear to ReplacePixels"
This reverts commit fb641d88cd.

Reason: When restoring the image where ReplacePixels is called,
dummyImage might not be restored since there is no record of
relationships between this image and dummyImage. Now pixels is not
nil when reverting by chance, but this would cause problems in the
future.
2018-04-25 22:31:48 +09:00
Hajime Hoshi
fb641d88cd restorable: Merge Clear to ReplacePixels
This can avoid unnecessary stale images that requires loading
pixels from GPU.
2018-04-25 01:30:57 +09:00
Hajime Hoshi
1571e04753 Revert "graphics: Call glFlush after glTexSubImage2D for MacBook Pro"
This reverts commit 7f5719fadd.

Reason: This didn't change the situation
2018-04-22 22:06:38 +09:00
Jake Bentvelzen
2f4ca72dbd input: Add Pause and Print Screen buttons (#555)
Fixes #579
2018-04-21 09:36:28 -07:00
Hajime Hoshi
3fa2beb502 Fix the do-not-edit comment https://golang.org/s/generatedcode 2018-04-20 00:54:33 -07:00
Hajime Hoshi
b691e73342 Revert "graphics: Experimental fix: call glFlush always after glTexSubImage2D"
This reverts commit d2da77eb96.

Reason: This doesn't solve the issue on MacBook Late 2013.
2018-04-14 23:16:26 +09:00
Hajime Hoshi
d2da77eb96 graphics: Experimental fix: call glFlush always after glTexSubImage2D 2018-04-14 23:06:20 +09:00
Hajime Hoshi
7f5719fadd graphics: Call glFlush after glTexSubImage2D for MacBook Pro 2018-04-14 17:59:10 +09:00
Hajime Hoshi
d1ef57c280 input: Remove the last period from do-not-edit comment 2018-04-14 04:22:09 +09:00
Hajime Hoshi
61d4df0e04 input: Add numpad keys for Edge (#580) 2018-04-14 02:43:31 +09:00
Hajime Hoshi
dd6110fbf8 input: Add KeyNumLock (#580) 2018-04-14 02:43:26 +09:00
Hajime Hoshi
5229e5a713 input: Add numpad keys except for Edge browser (#580) 2018-04-14 02:43:21 +09:00
Hajime Hoshi
4708d4a6f9 Add internal/png 2018-04-10 04:17:41 +09:00
Hajime Hoshi
070c8ec737 shareable: Rename variables 2018-04-09 02:18:46 +09:00
Hajime Hoshi
899f007fd0 ui: Panic when error is found on mobile 2018-04-07 03:33:20 +09:00
Hajime Hoshi
2d3c6ab5b8 ui: Remove build tag 'gomobilebuild'
Fixes #573
2018-04-07 02:14:54 +09:00
Hajime Hoshi
9902497e3d test: Use flock to make tests exclusive
Fixes #575
2018-04-07 00:59:52 +09:00
Hajime Hoshi
e77eb9f80f shareable: Temporary disable tests (#575) 2018-04-06 03:47:05 +09:00
Hajime Hoshi
cc725b99af restorable: Replace emptyImage with dummyImage 2018-04-06 03:08:52 +09:00
Hajime Hoshi
70f16daafd restorable: Fix tests (wrong assumption was used) 2018-04-06 02:15:49 +09:00
Hajime Hoshi
7b5ad46e49 shareable: NewImage* now returns a cleared image 2018-04-06 02:08:12 +09:00
Hajime Hoshi
1a335032a2 shareable: Bug fix: backend's restorable image must be disposed 2018-04-06 01:12:08 +09:00
Hajime Hoshi
8ff79c970a shareable: Use defer for tests 2018-04-05 12:02:08 +09:00
Hajime Hoshi
24e20306f2 restorable: Move 'putting random-colored dot' to restorable 2018-04-05 11:18:28 +09:00
Hajime Hoshi
810dc33b4a shareable: Fix comments 2018-04-05 02:41:50 +09:00
Hajime Hoshi
15dcd5764d shareable: Add shareable_test 2018-04-05 02:35:30 +09:00
Hajime Hoshi
6680b4f8d5 shareable: Bug fix: wrong source image rect in ensureNotShared 2018-04-05 01:07:36 +09:00
Hajime Hoshi
92e5bc31dc shareable: Refactoring 2018-04-05 00:40:35 +09:00
Hajime Hoshi
fcf4657a70 ui: Adjust touch positions at ui package (mobile) 2018-04-03 01:50:07 +09:00
Hajime Hoshi
76cb43a7f8 input: Refactoring: Remove unused arguments 2018-04-03 01:21:52 +09:00
Hajime Hoshi
0f2beab260 ui: Adjust touch positions in ui package (js) 2018-04-03 00:53:09 +09:00
Hajime Hoshi
c540d0fc0d ui: Add AdjustedTouches for consistency 2018-04-02 01:54:44 +09:00
Hajime Hoshi
e44a930bbb input: Refactoring 2018-04-02 01:19:42 +09:00
Hajime Hoshi
7d2fd9654a input: Adjust mouse cursor position in ui package 2018-04-01 23:53:26 +09:00
Hajime Hoshi
4de2dc0240 Add input package 2018-04-01 23:20:45 +09:00
Hajime Hoshi
e14c05b0fe shareable: Add comments 2018-03-26 00:13:26 +09:00
Hajime Hoshi
ab7a3e1ab3 graphics: Remove unneeded mutex 2018-03-25 23:55:38 +09:00
Hajime Hoshi
c767c0631e restorable: Remove unneeded mutex 2018-03-25 23:40:39 +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
ce8b9283a1 Re^2-land: shareable: Implement extending shareable texture again 2018-03-25 22:41:15 +09:00
Hajime Hoshi
125e5c4f32 restorable: Bug fix: Image must be protected with locks (#567) 2018-03-25 22:31:51 +09:00
Hajime Hoshi
e2632e358e restorable: Add TestDoubleResolve 2018-03-25 21:09:26 +09:00
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
Hajime Hoshi
24d7487fc7 graphics: Bug fix: TestImageTooManyFill didin't pass on some machines (reland)
Fixes #492
2018-02-03 23:03:18 +09:00
Hajime Hoshi
9ece27e7e8 Revert "graphics: Bug fix: TestImageTooManyFill didin't pass on some machines"
This reverts commit 7cb7b7b4ff.
2018-02-03 20:39:33 +09:00
Hajime Hoshi
7cb7b7b4ff graphics: Bug fix: TestImageTooManyFill didin't pass on some machines
Fixes #492
2018-02-03 20:36:16 +09:00
Hajime Hoshi
595e654123 graphics: Bug fix: pixels read from GPU might include errors (#492) 2018-02-03 16:43:42 +09:00
Hajime Hoshi
65b71ad79d restorabel: uint8 -> byte 2018-02-03 16:36:43 +09:00
Hajime Hoshi
4bbb4b0445 graphics: Remove unneeded comments (#491) 2018-02-03 03:32:03 +09:00
Hajime Hoshi
52350c1b1b graphics: Bug fix: TestImageEdge failed on MacBook Pro (#491) 2018-02-03 03:30:09 +09:00
Hajime Hoshi
beaa060ce3 graphics: Adjust texel values that can be exactly on the edges of the source rect (#491) 2018-02-03 02:07:46 +09:00
Hajime Hoshi
8b2ed6cddd ui: Update GraphicsContext every frame (#490) 2018-02-02 02:08:03 +09:00
Hajime Hoshi
80596820cf graphics: Replace []uint8 with []byte 2018-01-28 22:40:36 +09:00
seebs
0b7ba8e573 Do GeoM projection on CPU (#477)
Handling GeoM projection on CPU may seem like a weird choice, given
how fast GPU is, but it pays off:

* You only have to do a very small subset of the actual matrix
  multiply.
* You don't have to construct a matrix in the vertex shader.
* Six fewer float32 values per vertex.
* You do still have to do the matrix computation for each vertex,
  though.

Signed-off-by: Seebs <seebs@seebs.net>
2018-01-14 16:01:55 +09:00
Hajime Hoshi
38c72faf95 ui: Deprecate SetCursorVisibility and add SetCursorVisible (#407) 2018-01-09 02:01:33 +09:00
Hajime Hoshi
d8c0d88960 clock: Add comments 2018-01-07 21:12:25 +09:00
Hajime Hoshi
1e33cbb66f clock: Remove limitation of the number of frames to be updated 2018-01-07 20:20:02 +09:00
Hajime Hoshi
d5d5ebb0b3 clock: Make ProceedAudioTimer take a number of frames 2018-01-07 18:32:19 +09:00
Hajime Hoshi
d12a3d4073 clock: Refactoring 2018-01-07 17:10:56 +09:00
Hajime Hoshi
0a911b28b2 ui: Remove unneeded variable deviceScale 2018-01-07 14:51:25 +09:00
Hajime Hoshi
34d2e9a3fb ui: Remove unused function 2018-01-07 05:25:29 +09:00
Hajime Hoshi
0469ef386b ui: Fix comment 2018-01-06 23:53:35 +09:00
Hajime Hoshi
4bcb2e5682 devicescale: Rename XFCE -> Xfce 2018-01-04 17:16:02 +09:00
Hajime Hoshi
ee87a0fd71 devicescale: Add other desktops 2018-01-04 03:29:58 +09:00
Hajime Hoshi
75f5cbd45a devicescale: Rename windowManager -> desktop 2018-01-04 03:22:30 +09:00
Hajime Hoshi
60993fe3ea devicescale: Rename files 2018-01-04 03:19:19 +09:00
Hajime Hoshi
738d23cf51 devicescale: Bug fix: need to parse XDG_CURRENT_DESKTOP for GNOME classic 2018-01-04 00:55:53 +09:00
Hajime Hoshi
70f9fee8af devicescale: Detect window manager 2018-01-04 00:01:41 +09:00
Hajime Hoshi
eac5564342 devicescale: Fix scaling on UNIX 2018-01-03 23:38:47 +09:00
Hajime Hoshi
9ec0785203 Rename files _xwindow.go to _unix.go 2018-01-03 23:38:47 +09:00
Hajime Hoshi
edaaa178b8 devicescale: Implement scaling for Gnome and Cinnamon (#344) 2018-01-03 23:36:33 +09:00
Hajime Hoshi
a64367f906 ui: Refactoring: remove an unneeded member 2018-01-03 17:35:34 +09:00
Hajime Hoshi
5a17497723 devicescale: Make DeviceScale concurrent-safe 2018-01-03 16:52:26 +09:00
Hajime Hoshi
0f450fb1e2 devicescale: Use NewLazyDLL on Windows 2018-01-03 16:24:53 +09:00
Hajime Hoshi
7b759faf36 devicescale: Bug fix: SetProcessDPIAware needs to be called 2018-01-03 15:43:56 +09:00
Hajime Hoshi
c82809867d Add internal/devicescale 2018-01-03 05:22:56 +09:00
Hajime Hoshi
9578307d7b ui: Organize members 2018-01-03 00:23:18 +09:00
Hajime Hoshi
9478801076 ui: Implement SetScreenSize/Scale for mobiles
Fixes #250
2017-12-31 21:01:48 +09:00
Hajime Hoshi
5d4c4f1283 graphics: Bug fix: Don't delete the screen framebuffer (iOS) 2017-12-31 20:55:04 +09:00
Hajime Hoshi
473aeaa8b1 ui: Remove unneeded early return 2017-12-31 18:37:04 +09:00
Hajime Hoshi
c636dec721 graphics: Remove glFlush() for performance 2017-12-21 03:19:28 +09:00
Hajime Hoshi
e13bb0769b graphics: Add 'not-reached' clause 2017-12-21 00:57:36 +09:00
Hajime Hoshi
0a99103bc1 graphics: Call roundTexel only on linear filter (#461) 2017-12-21 00:38:22 +09:00
Hajime Hoshi
8e72906f3d graphics: Separate GLSL programs for filters (#461) 2017-12-21 00:33:08 +09:00
Hajime Hoshi
f072e8f1c5 graphics: Optimize GLSL 2017-12-18 03:10:04 +09:00
Hajime Hoshi
9471e3e4e7 web: Bug fix: Expose IsAndroidChrome 2017-12-17 01:22:22 +09:00
Hajime Hoshi
44dc9f6220 graphics: Optimize fragment shader 2017-12-16 18:35:45 +09:00
Hajime Hoshi
6eb148b9a1 graphics: Fragment shader optimization (#461) 2017-12-16 05:05:21 +09:00
Hajime Hoshi
078d107c24 graphics: Bug fix: vertex position should be highp 2017-12-16 03:30:52 +09:00
Hajime Hoshi
d45a975e3d graphics: Remove one unnecessary check from fragment shader (#461) 2017-12-16 01:42:36 +09:00
Hajime Hoshi
d6878d6887 graphics: Remove one bound check from fragment shader (#461) 2017-12-16 01:33:35 +09:00
Hajime Hoshi
98532d8983 graphics: Add TestImageOutside 2017-12-14 00:25:35 +09:00
Hajime Hoshi
704d4cf464 graphics: texel should be represented as highp for precision
Fixes #460
2017-12-13 23:45:05 +09:00
Hajime Hoshi
aea2e491c3 graphics: Temporary hack for mobile browers
roundTexel doesn't work well on moible browsers
2017-12-12 03:27:56 +09:00
Hajime Hoshi
723d153800 Reland(2): graphics: Appropriate rendering of edges on linear filter 2017-12-12 00:03:01 +09:00
Hajime Hoshi
362d1c417f Revert 'graphics: Appropriate rendering of edges on linear filter (Reland)' (#458) 2017-12-11 20:30:54 +09:00
Hajime Hoshi
7b74a8f29f graphics: Improve roundTexel implementation 2017-12-07 03:24:46 +09:00
Hajime Hoshi
1152439e65 graphics: Appropriate rendering of edges on linear filter (Reland)
Fixes #456
2017-12-07 02:26:16 +09:00
Hajime Hoshi
8091aa5190 Revert 'graphics: Appropriate rendering of edges on linear filter' #456 2017-12-06 23:40:29 +09:00
Hajime Hoshi
bc0432f310 graphics: Appropriate rendering of edges on linear filter
Fixes #315
2017-12-06 21:40:24 +09:00
Hajime Hoshi
264ca49a43 graphics: Bug fix: revert viewport size for Edge 2017-12-05 03:13:40 +09:00
Hajime Hoshi
f74c1e67ea graphics: Use power-of-2 size for the default framebuffer 2017-12-05 02:33:04 +09:00
Hajime Hoshi
eeea25f202 opengl: Remove 'normalize' argument from VertexAttribPointer 2017-12-03 19:21:59 +09:00
Hajime Hoshi
2e1e4adb84 graphics: Fix some variables in GLSL 2017-12-03 19:07:12 +09:00
Hajime Hoshi
71ca838193 opengl: Refactoring 2017-12-03 03:55:59 +09:00
Hajime Hoshi
847ba9de0c graphics: Refactoring: Move adjustment logic for glClearColor to opengl package 2017-12-03 03:51:42 +09:00
Hajime Hoshi
8e7e960b56 graphics: Limit source-rectangle range
Remove texture adjustment introduced due to #317
2017-12-02 23:13:44 +09:00
Hajime Hoshi
c2fab6cca3 graphics: Bug fix: glClear doesn't treat 0 or 1 correctly
Fixes #452
2017-12-02 22:25:02 +09:00
Hajime Hoshi
4a5420d6f2 opengl: Remove Node.js support (#141) 2017-12-02 16:46:55 +09:00
Hajime Hoshi
0379e3c591 audio: Deprecate Update 2017-12-01 00:26:28 +09:00
Hajime Hoshi
362f002d36 ui: Delete local variables asap on Android 2017-11-13 01:30:08 +09:00
Hajime Hoshi
cea9bd5a19 input: Bug fix: runeBuffer should be reset on each frame 2017-11-10 01:21:15 +09:00
Hajime Hoshi
4b83a060fe ui: Add more keys not for charCode 2017-11-10 00:46:37 +09:00
Hajime Hoshi
fb8bef99c3 ui: Bug fix: key event on Edge browser 2017-11-10 00:39:46 +09:00
Hajime Hoshi
37ca48dc38 ui: Rename functions from Safari to Edge 2017-11-10 00:35:46 +09:00
Hajime Hoshi
0c0cd7e9d6 ui: Bug fix: call preventDefault for arrow keys
Fixes #450
2017-11-10 00:32:47 +09:00
Hajime Hoshi
ededc5874b ui: Bug fix: Scale was wrong when magnifier is enabled
Fixes #244
2017-11-09 02:06:35 +09:00
Hajime Hoshi
7bcc9ee79f ui: Add GamepadIDs and remove IsGamepadPresent (#447) 2017-10-26 23:59:09 +09:00
Hajime Hoshi
600baf2cc7 ui: Add IsGamepadPresent
Fixes #447
2017-10-26 02:59:33 +09:00
Hajime Hoshi
05e220e105 ui: Allow smaller window width (#444) 2017-10-20 03:25:21 +09:00
Hajime Hoshi
414170b138 ui: Refactoring 2017-10-20 02:50:39 +09:00
Hajime Hoshi
6ae67fc6dd graphics: Add ColorM.Apply (#432) 2017-10-14 23:58:09 +09:00
Hajime Hoshi
9399622127 graphics: Bug fix: Don't adjust texels on iOS Safari 2017-10-03 02:34:16 +09:00
Hajime Hoshi
a7fc463d91 doc: Improve comments 2017-10-01 03:15:50 +09:00
Hajime Hoshi
d455b9b8bb opengl: SetViewport no longer returns error 2017-09-25 00:17:20 +09:00
Hajime Hoshi
b590005c7a opengl: BindFramebuffer no longer returns error 2017-09-25 00:14:25 +09:00
Hajime Hoshi
ade56f8176 opengl: BindTexture no longer returns error 2017-09-25 00:11:19 +09:00
Hajime Hoshi
37d8bd312a graphics: Refactoring 2017-09-25 00:06:45 +09:00
Hajime Hoshi
8fbe423125 graphics: Delete programs explicitly and add comments 2017-09-24 23:41:37 +09:00
Hajime Hoshi
e5ca84013c graphics: Bug fix: Delete buffer when necessary 2017-09-24 23:20:26 +09:00
Hajime Hoshi
ecc9d0b3b1 graphics: Add comments 2017-09-24 22:56:50 +09:00
Hajime Hoshi
2884e92041 jni: Add more comment 2017-09-24 04:52:32 +09:00
Hajime Hoshi
ed09dddf09 jni: Add comment 2017-09-24 02:54:35 +09:00
Hajime Hoshi
835d199f02 ui: Rename SetIcon to SetWindowIcon (#386) 2017-09-23 17:40:09 +09:00
Hajime Hoshi
dacda0d176 ui: Add SetIcon (#386) 2017-09-23 04:28:57 +09:00
Hajime Hoshi
ceceed951f graphics: Add comments 2017-09-22 02:49:37 +09:00
Hajime Hoshi
6145ecee74 graphics: Misspelling 2017-09-21 23:33:27 +09:00
Hajime Hoshi
b47e564762 graphics: Add comments 2017-09-20 01:35:56 +09:00
Hajime Hoshi
0831fd2a0d graphics: Add comments 2017-09-19 01:37:24 +09:00
Hajime Hoshi
2a9873a4bb affine: Add GeoM.Apply (#432) 2017-09-16 17:19:45 +09:00
Hajime Hoshi
fc125eb531 graphics: Add comments 2017-09-16 15:49:29 +09:00
Hajime Hoshi
803aa77c20 affine: Refactoring 2017-09-16 15:49:12 +09:00
Hajime Hoshi
05d91eac09 restorable: Fix misspelling 2017-09-15 03:13:36 +09:00
Hajime Hoshi
f16b5d9c10 restorable: Rename variables 2017-09-15 01:14:09 +09:00
Hajime Hoshi
ccddf3c4ac restorable: Refactoring: Remove arguments from NewImageFromImage 2017-09-15 00:51:17 +09:00
Hajime Hoshi
ca4a2d8209 restorable: Bug fix: Fix tests 2017-09-15 00:49:07 +09:00
Hajime Hoshi
2881d3fc4c restorable: Add comments 2017-09-15 00:39:49 +09:00
Hajime Hoshi
80940f9070 restorable: Add comments 2017-09-15 00:24:18 +09:00
Hajime Hoshi
b51d93a707 restorable: Add comments 2017-09-12 03:14:13 +09:00
Hajime Hoshi
72c02fc398 graphics: Bug fix: viewport size must be within the framebuffer size
This fixes #71 and #420
2017-09-09 19:33:51 +09:00
Hajime Hoshi
0dcba7844b ui: Bug fix: SetScreenSize didn't work on browsers
This fixes #427
2017-09-07 11:58:04 +09:00
Hajime Hoshi
d30f8a2bbf graphics: Fix viewport sizes for Edge (#71) 2017-09-07 03:08:22 +09:00
Hajime Hoshi
da48712cf3 web: Add IsEdgeBrowser 2017-09-07 02:47:27 +09:00
Hajime Hoshi
2d5b062c3c opengl: Refactoring: Replace NewBuffer with new funcs
Replace NewBuffer with NewArrayBuffer and NewElementArrayBuffer
2017-09-01 01:30:09 +09:00
1l0
5d2393c3c1 glfw: Add StickyModes to window.InputMode (resolve #314 #399) (#423) 2017-08-28 23:29:19 +09:00
Hajime Hoshi
99d170b454 ui: Remove isSafari that is not used anywhere 2017-08-27 02:14:23 +09:00
Hajime Hoshi
b05455a2a6 clock: Fix comments 2017-08-24 02:30:43 +09:00
Hajime Hoshi
12c24215b1 graphics: Bug fix: Flush after filling (#419) 2017-08-24 00:11:08 +09:00
Hajime Hoshi
bb6dfeefd4 ui: Add comments on Touches 2017-08-22 00:58:38 +09:00
Jake
0d703ca3d4 InputChars (#403)
This implements #400
2017-08-15 04:11:51 +09:00
Hajime Hoshi
5f538bff82 ui: Bug fix: initCursorVisible must be true by default 2017-08-12 18:32:51 +09:00
Hajime Hoshi
783e57d3f2 ui: Remove 'fullscreen' member variable 2017-08-12 18:31:16 +09:00
Hajime Hoshi
b186bc1e94 ui: Add IsCursorVisible (#377) 2017-08-12 15:45:16 +09:00
Hajime Hoshi
9ab517cf82 restorable: Refactoring 2017-08-07 00:06:35 +09:00
Hajime Hoshi
1fb7e123c2 Remove dependencies on internal/graphics from ebiten 2017-08-06 21:34:24 +09:00
Hajime Hoshi
c0ecb7a386 graphics: Move CopyImage to restorable 2017-08-06 21:21:38 +09:00
Hajime Hoshi
631264fce1 Add 'internal/math' package 2017-08-06 20:05:14 +09:00
Hajime Hoshi
14737df60f loop: Remove package loop 2017-08-06 02:17:26 +09:00
Hajime Hoshi
0913adc1e2 loop: Remove Update 2017-08-06 02:15:27 +09:00
Hajime Hoshi
d1cbfdeec7 clock: Move now() from loop to clock 2017-08-06 02:12:23 +09:00
Hajime Hoshi
f0f115b612 clock: Move FPS calculation from loop to clock 2017-08-06 02:09:33 +09:00
Hajime Hoshi
b1d12f08f8 loop: Remove unneeded member variables 2017-08-06 01:49:20 +09:00
Hajime Hoshi
95a061df7f loop: Remove dependency from audio to loop 2017-08-06 01:43:09 +09:00
Hajime Hoshi
2e7a477f9d clock: Refactoring 2017-08-06 01:28:14 +09:00
Hajime Hoshi
e98475cf9d clock: Reduce a variable 2017-08-06 00:29:06 +09:00
Hajime Hoshi
1ea6bb2b6a clock: Fix comments 2017-08-06 00:27:45 +09:00
Hajime Hoshi
b7d559fdf3 clock: Refactoring: Move frames calculation to clock 2017-08-06 00:18:38 +09:00
Hajime Hoshi
288a7ede8d loop: Bug fix: Revert audio-clock syncing 2017-08-05 23:49:11 +09:00
Hajime Hoshi
d99638d34c loop: Bug fix: wrong updating |lastUpdated| 2017-08-05 23:31:10 +09:00
Hajime Hoshi
6f606c6bb1 loop: Bug fix: Don't use 'system timer clock' when audio clock is valid 2017-08-05 23:26:43 +09:00
Hajime Hoshi
a92f77c207 clock: Rename function names; loop: Rename variables 2017-08-05 22:25:21 +09:00
Hajime Hoshi
94843fbe73 loop: Move clock.FPS to loop.FPS to reduce dependencies 2017-08-05 22:08:58 +09:00
Hajime Hoshi
19760be346 loop: Refactoring 2017-08-05 22:07:03 +09:00
Hajime Hoshi
b85f5edee0 loop: Simplify logic 2017-08-05 21:24:04 +09:00
Hajime Hoshi
eef8289854 loop: Remove dependency on ui 2017-08-05 20:43:49 +09:00
Hajime Hoshi
56a17a7f79 loop: Reduce defer for performance and readability 2017-08-05 20:19:17 +09:00
Hajime Hoshi
9f98ccc611 loop: Rename UpdateAndDraw -> Update 2017-08-05 20:14:49 +09:00
Hajime Hoshi
f0d47312c4 ui: Add IsRunnableInBackground / SetRunnableInBackground (#272) 2017-08-03 03:21:51 +09:00
Hajime Hoshi
bb5036b3e1 ui: Refactoring 2017-08-03 01:07:04 +09:00
Hajime Hoshi
1021521591 ui: initFullscreen should always be protected by lock 2017-08-03 00:19:04 +09:00
Hajime Hoshi
434d5bb00b ui: Bug fix: SetFullscreen / IsFullscreen should be concurrent safe; IsFullscreen should return the correct value even before Run 2017-08-02 23:48:08 +09:00
Hajime Hoshi
807d03eb3b ui: Delay initialize until Run (#397) 2017-07-30 20:26:40 +09:00
Hajime Hoshi
ee98148b54 graphics: Use default precisions in the fragment shader 2017-07-29 04:08:03 +09:00
Hajime Hoshi
84a7787ac9 graphics: No need to specify precision on vertex shaders (highp is default) 2017-07-29 02:57:56 +09:00
Hajime Hoshi
d46d9ac7c2 opengl: Remove GlslHighpSupported 2017-07-24 22:59:25 +09:00
Hajime Hoshi
85d39699d3 graphics: Bug fix: Need to specify default precisions (#390) 2017-07-24 21:56:40 +09:00
Hajime Hoshi
3bfb5054af Fix misspelling 2017-07-23 22:50:18 +09:00
Hajime Hoshi
5ae03494f2 ui: Resize canvas size when the window is resized (#387) 2017-07-22 02:04:15 +09:00
Hajime Hoshi
63e3bc73d6 ui: Implement fullscreen for browsers (#387) 2017-07-22 01:52:08 +09:00
Hajime Hoshi
717efd097d loop: Bug fix: the clock needs to be stopped when the window is unfocused 2017-07-16 23:54:14 +09:00
Hajime Hoshi
f591ca3d2b ui: Bug fix: SetFullscreen didn't work without Run 2017-07-15 21:43:33 +09:00
Hajime Hoshi
c94c994bd1 ui: Allow SetFullscreen without Run 2017-07-15 20:29:13 +09:00
Hajime Hoshi
59110ba5ec clock: Refactoring: Use clock.FPS everywhere 2017-07-14 03:19:50 +09:00
Hajime Hoshi
3d8fc790b6 loop: Remove dependency on audio 2017-07-14 01:42:58 +09:00
Hajime Hoshi
5d1d0844e1 Add internal/clock 2017-07-14 00:34:05 +09:00
Hajime Hoshi
fe3f0b2f1f loop: Better syncing with audio 2017-07-14 00:03:59 +09:00
Hajime Hoshi
0de9828e20 loop: Fix FPS calculation 2017-07-13 23:48:06 +09:00
Hajime Hoshi
c3202b8e58 audio: Adjust the buffer size 2017-07-13 23:48:03 +09:00
Hajime Hoshi
15f5d2a2cc loop: More stable FPS 2017-07-13 01:34:02 +09:00
Hajime Hoshi
40ae782a67 loop: Early exit when no frame needs to be updated 2017-07-13 01:34:02 +09:00
Hajime Hoshi
fdaf03b209 audio: Make the game loop depend on the audio clock 2017-07-13 01:33:59 +09:00
Hajime Hoshi
26a83c0e00 opengl: Define Texture/Framebuffer Equals for JS performance 2017-07-02 22:18:49 +09:00
Hajime Hoshi
3a3a4af035 graphics: Avoid type assertions for Fill 2017-07-02 21:32:07 +09:00
Hajime Hoshi
364819f361 restorable: Disable restoring on desktops and mobile browsers (#380) 2017-07-02 15:58:00 +09:00
Hajime Hoshi
e582a661c9 ui: Bug fix: Should add <meta> to <head> instead of <body> 2017-07-02 04:18:43 +09:00
Hajime Hoshi
d6466fdcaf ui: Bug fix: initial scale must be 1 for proper scaling 2017-07-02 04:08:25 +09:00
Hajime Hoshi
565a28ff04 restorable: Merge draw image history items if possible (#379) 2017-07-02 02:21:23 +09:00
Hajime Hoshi
979836d0f5 restorable: Refactoring: move and rename a const 2017-07-02 01:41:07 +09:00
Hajime Hoshi
d7b7aac6e4 ui: Fix wrong comment 2017-07-01 13:03:27 +09:00
Hajime Hoshi
7d236950c2 ui: Bug fix: SwapInterval needs to be called after SetMonitor (#357) 2017-07-01 12:41:16 +09:00
Hajime Hoshi
ba204c6d3b ui: Adjust cursor positoin on fullscreen mode (#374) 2017-07-01 04:27:38 +09:00
Hajime Hoshi
c694851765 ui: Center the screen on fullscreen mode (#374) 2017-07-01 04:12:09 +09:00
Hajime Hoshi
3168af1db4 ui: Refactoring: refresh rate is ignored when no monitor is specified at SetMonitor 2017-06-30 23:20:53 +09:00
Hajime Hoshi
68fbf59720 ui: Refactoring 2017-06-30 11:07:19 +09:00
Hajime Hoshi
cefa86ce13 ui: Fullscreen scale can be recalculated during fullscreen mode 2017-06-30 10:54:13 +09:00
Hajime Hoshi
6336b59493 ui: Bug fix: original positions must not be updated during fullscreen mode (#376) 2017-06-30 10:48:18 +09:00
Hajime Hoshi
af8b5d72c3 ui: Bug fix: Fullscreen scale must be recalculated 2017-06-30 10:22:30 +09:00
Hajime Hoshi
76da09f74c ui: Bug fix: Window title might lost on macOS (#267) 2017-06-30 02:14:14 +09:00
Hajime Hoshi
64ed7b93f6 ui: Bug fix: better restoring position (#267) 2017-06-30 02:11:54 +09:00
Hajime Hoshi
1d60c009ed ui: Bug fix: fullscreen scale calculation was wrong (#267) 2017-06-30 02:08:12 +09:00
Hajime Hoshi
2996f778b6 ui: Bug fix: position was wrong when changing window size 2017-06-30 01:53:14 +09:00
Hajime Hoshi
5b6fa2d384 ui: Adjust cursor position on fullscreen (#267) 2017-06-30 01:39:26 +09:00
Hajime Hoshi
e7370d8a54 ui: Adjust fullscreen scale (#267) 2017-06-30 01:28:35 +09:00
Hajime Hoshi
5dbfafb200 ui: Reserve window position before entering fullscreen-mode (#267) 2017-06-30 01:28:03 +09:00
Hajime Hoshi
b569eb9c5a ui: Add SetFullscreen / IsFullscreen (#267) 2017-06-30 01:28:00 +09:00
Hajime Hoshi
d0f086323b ui: Use returning values 2017-06-30 00:37:24 +09:00
Hajime Hoshi
f7a8c7efa6 ui: Avoid recalc the scale factor 2017-06-05 00:06:40 +09:00
Hajime Hoshi
ad1f1263f7 restorable: Bug fix: wrong topological sort (#359) 2017-06-03 02:41:37 +09:00
Hajime Hoshi
2680884566 restorable: Test bug fix 2017-06-02 22:00:02 +09:00
Hajime Hoshi
eb66f5c569 restorable: Add tests for complex graph (#357) 2017-06-02 21:58:26 +09:00
Hajime Hoshi
f41541a254 restorable: Enable TestRestoreRecursive again 2017-06-02 02:15:32 +09:00
Hajime Hoshi
1d66ebc854 restorable: Bug fix: topological sort is required to restore images correctly (#357) 2017-06-01 10:44:28 +09:00
Hajime Hoshi
967e737760 restorable: Temporarily disable a failed test 2017-06-01 02:42:43 +09:00
Hajime Hoshi
82f102c422 restorable: Add TestRestoreRecursive (#265) (#357) 2017-06-01 02:37:57 +09:00
Hajime Hoshi
baeadfb7fe restorable: Add tests (#265) (#357) 2017-06-01 01:27:56 +09:00
Hajime Hoshi
1d59938295 ui: Refactoring: Remove unneeded error handlings 2017-05-31 10:47:52 +09:00
Hajime Hoshi
7d181e3182 opengl: Hide OpenGL context usages into internal/graphics package 2017-05-31 02:18:04 +09:00
Hajime Hoshi
5a4a82ab50 restorable: Add TODO comments (#357) 2017-05-30 03:31:29 +09:00
Hajime Hoshi
d220e300ab restorable: Fix doc 2017-05-30 02:06:45 +09:00
Hajime Hoshi
90ec2c79ce opengl: Bug fix: return error when error occurs 2017-05-30 01:46:48 +09:00
Hajime Hoshi
a5f80c3716 restorable: VRAM -> GPU 2017-05-30 01:28:23 +09:00
Hajime Hoshi
6db96f5442 affine: Make GeoM.Rotate faster 2017-05-28 04:16:11 +09:00
Hajime Hoshi
dad427920d affine: Add Reset function 2017-05-28 00:49:44 +09:00
Hajime Hoshi
e53262bfac graphics: Replace copy with for-loop 2017-05-28 00:14:53 +09:00
Hajime Hoshi
a816c9c7fe Reduce defer sentences for performance 2017-05-27 21:35:38 +09:00
Hajime Hoshi
1b1b996817 graphics: Avoid copying ColorM 2017-05-27 16:17:49 +09:00
Hajime Hoshi
1b72263ce1 sync: Add sync package 2017-05-27 02:37:01 +09:00
Hajime Hoshi
e1b5c992b4 graphics: Refactoring: remove unnecessary empty slices 2017-05-26 22:32:38 +09:00
Hajime Hoshi
6db994f0e8 graphics: Optimize GeoM 2017-05-24 00:57:57 +09:00
Hajime Hoshi
93cdfe107e ui: Keep the device scale to avoid re-calculation 2017-05-14 04:21:20 +09:00
Hajime Hoshi
d6219e38d8 ui: Rename files 2017-05-13 19:50:40 +09:00
Hajime Hoshi
b409631515 Add FreeBSD support (#352) 2017-05-11 19:09:13 +09:00
Hajime Hoshi
951e5bccef restorable: Remove Images() 2017-05-04 00:08:07 +09:00
Hajime Hoshi
8b48d010ed restorable: Refactoring 2017-05-03 23:24:00 +09:00
Hajime Hoshi
bc105e7350 restorable: Unexport functions 2017-05-03 23:18:35 +09:00
Hajime Hoshi
aa5c278445 restorable: Unexport add 2017-05-03 23:15:18 +09:00
Hajime Hoshi
9f5cf48d24 restorable: Move Images to resotrable package 2017-05-03 23:11:43 +09:00
Hajime Hoshi
d94e9c9d86 restorable: Bug fix: Make limit to the number of draw-image command history (#349) 2017-05-03 22:16:32 +09:00
Hajime Hoshi
76ad9cf42b doc: Fix comments 2017-05-03 01:08:27 +09:00
Hajime Hoshi
5699822d64 graphics: Avoid creating struct as much as possible 2017-05-02 22:45:09 +09:00
Hajime Hoshi
4e22bd770f ui: Remove Input interface and remove locks on browsers to improve performance (#346) 2017-04-28 23:45:01 +09:00
Hajime Hoshi
0dafbfe99d ui: Speed optimization for browser keyboard inputs 2017-04-27 11:40:32 +09:00
Hajime Hoshi
fb612a4b87 ui: Adjust window size in case when glfwGetVideoMode fails (#328) 2017-04-19 00:51:15 +09:00
Hajime Hoshi
95cb0133de ui: Add keys (#339) 2017-04-14 03:09:00 +09:00
Hajime Hoshi
0cd692d26a ui: Use code instead of keyCode on browsers but Safari 2017-04-14 03:02:38 +09:00
Hajime Hoshi
88cfdf8878 ui: Remove println 2017-04-11 12:00:40 +09:00
Hajime Hoshi
187a93d80a ui: Bug fix: IsKeyPressed might return a wrong value when only one of Shift/Ctrl/Alt keys is pressed 2017-04-11 11:56:05 +09:00
Hajime Hoshi
aa1e7e9cd6 Revert "ui: Use code instead of keyCode on browsers (#339)"
This reverts commit d7ea02d8c1.
2017-04-10 20:38:23 +09:00
Hajime Hoshi
d7ea02d8c1 ui: Use code instead of keyCode on browsers (#339) 2017-04-10 20:30:28 +09:00
Hajime Hoshi
b0454b874e Fix frame counters to int64 (#337) 2017-04-06 00:45:28 +09:00
Hajime Hoshi
a3e14c9ddb graphics: Image.ReplacePixels/Dispose always returns nil (#331) 2017-03-04 02:23:39 +09:00
Hajime Hoshi
6ca71c6931 graphics: Errors of NewImage* are always nil (#331) 2017-03-04 01:22:51 +09:00
Hajime Hoshi
33ff25cc40 gofmt -s -w 2017-03-04 00:00:04 +09:00
Hajime Hoshi
147798e14d Simplify internal API not to return errors 2017-03-03 23:59:44 +09:00
Hajime Hoshi
cad051437d ui: Refactoring 2017-03-03 11:15:07 +09:00
Hajime Hoshi
e11bc62059 ui: SetScreenSize/Scale no longer returns error 2017-03-03 10:58:29 +09:00
Hajime Hoshi
b6b61fc003 ui: setScreenSize in ui_glfw.go no longer returns error 2017-03-03 10:50:47 +09:00
Hajime Hoshi
0ba28d1183 ui: Remove unused function 2017-03-03 02:27:39 +09:00
Hajime Hoshi
ae378dc7f5 input: Extend number of gamepad buttons from 16 to 32 (for PS4) 2017-02-25 22:49:17 +09:00
Hajime Hoshi
acc488b980 graphics: Bug fix: Wrong palette usage when the palette is big 2017-02-19 02:56:20 +09:00
Hajime Hoshi
9634794e7e ui: Use GetWindowThreadProcessId to check who created the console (#304, #318) 2017-02-09 03:49:45 +09:00
Hajime Hoshi
bd1a486b3a Bug fix: gopherjs build failed on Windows 2017-02-09 02:37:40 +09:00
Hajime Hoshi
93684d5df3 ui: Hide console window by checking the parent process (#304, #318) 2017-02-09 02:01:03 +09:00
gonutz
112654995f Hide console window on Windows (#318)
* Hide console only if double-clicking Windows exe

When building on Windows the console window is hidden on start-up if
double-clicking the executable but not if running the program from the
command line (as a developer).
See the code comments for an explanation of the used heuristic.
2017-02-07 20:44:10 +09:00
Hajime Hoshi
bb993a481b graphics: Bug fix: Outside texels are used (#317) 2017-02-06 09:10:44 +09:00
Hajime Hoshi
0967df7f5e graphics: Fix TestImagePixels to check out-of-range pixels 2017-02-05 04:24:07 +09:00
Hajime Hoshi
91681bdc25 graphics: Bug fix: ReplacePixels must reset pixels out of range (#316) 2017-02-05 04:16:09 +09:00
Hajime Hoshi
d7f1165aa3 graphics: Avoid calling ReplacePixels unnecessarily 2017-02-05 02:19:30 +09:00
Hajime Hoshi
0ef1e61d55 mobile: Fix iOS tag usages (#310) 2017-01-26 01:32:33 +09:00
Hajime Hoshi
6e897d1479 graphcis: Bug fix: Can't dispose textures/framebuffers after the context is lost (fixing #305) 2017-01-22 01:37:08 +09:00
Hajime Hoshi
d3e1f91511 graphis: Bug fix: blurred screen after restoring the context (#306) 2017-01-21 15:16:47 +09:00
Hajime Hoshi
53952100d3 restorable: Bug fix: graphics.Image can be recreated and must not be used for restoring 2017-01-21 04:24:39 +09:00
Hajime Hoshi
50b50effc0 graphics: Bug fix: Can't delete object after GL context is restored 2017-01-21 03:05:21 +09:00
Hajime Hoshi
bccf76867e graphics: Try to restore the context on browsers (WIP) 2017-01-21 02:56:26 +09:00
Hajime Hoshi
de987be85f opengl: Add IsContextLost 2017-01-20 02:20:41 +09:00
Hajime Hoshi
6e84919ed5 affine: Make Scale/Translate faster 2017-01-20 01:08:14 +09:00
Hajime Hoshi
48c8934838 affine: Refactoring 2017-01-20 00:46:25 +09:00
Hajime Hoshi
dfcd9fc30c graphics: Make matrices faster 2017-01-20 00:37:51 +09:00
Hajime Hoshi
71a4465c6f graphics: Improve matrices speed 2017-01-19 12:07:31 +09:00
Hajime Hoshi
9087269212 graphics: Make copying GeoM faster 2017-01-19 10:59:07 +09:00
Hajime Hoshi
3331f17723 graphics: Bug fix: start pixel must start at 0 (#303) 2017-01-19 10:40:59 +09:00
Hajime Hoshi
333b0956ff graphics: Improve speed by merging vertices arrays into one 2017-01-19 01:27:04 +09:00
Hajime Hoshi
a744285b51 graphics: Make copying ColorM faster 2017-01-18 02:25:23 +09:00
Hajime Hoshi
c44ee9cde2 graphics: Refactoring 2016-12-29 01:15:57 +09:00
Hajime Hoshi
aeaa877949 restorable: Remove (*restorable).width/height 2016-12-27 10:58:46 +09:00
Hajime Hoshi
5c403d9969 graphics: Avoid copying images twice 2016-12-27 10:43:05 +09:00
Hajime Hoshi
260b938422 graphics: CopyImage optimization 2016-12-27 03:21:07 +09:00
Hajime Hoshi
5c9b9ef6cb graphics: Add BenchmarkCopyImageNRGBA 2016-12-27 01:57:36 +09:00
Hajime Hoshi
006f87d02b graphics: Stop CopyImage blocking on browsers 2016-12-27 01:57:15 +09:00
Hajime Hoshi
3db15bc5bf graphics: Avoid copying color.RGBA struct 2016-12-27 01:08:22 +09:00
Hajime Hoshi
6b4801ac7a graphics: Make copying images faster 2016-12-27 00:50:14 +09:00
Hajime Hoshi
15f7a605c5 graphics: Create framebuffers lazily 2016-12-14 23:40:43 +09:00
Hajime Hoshi
b86f1771e4 ui: Add goroutine so that blocking is available everywhere 2016-11-29 01:40:06 +09:00
Hajime Hoshi
7bd2fb6ce2 graphics: Bug fix: ColorM.Scale worked wrongly 2016-11-27 23:27:20 +09:00
Hajime Hoshi
a1e868b822 ui: Don't use 'image-rendering' CSS on Safari (#293) 2016-11-26 23:45:06 +09:00
Hajime Hoshi
411721a4da ui: Add TODO 2016-11-26 02:35:55 +09:00
Hajime Hoshi
74c552ea6c opengl: Should access the prototype of WebGLRenderingContext on Safari (#293) 2016-11-26 01:17:22 +09:00
Hajime Hoshi
3e2f2e9f08 opengl: Update error messages 2016-11-26 00:57:02 +09:00
Hajime Hoshi
e47c3bbbfb graphics: Limit image size strictly 2016-11-05 03:06:18 +09:00
Hajime Hoshi
07294a98b6 Move internal/graphics/opengl -> internal/opengl 2016-11-03 23:31:25 +09:00
Hajime Hoshi
b2780fb585 graphics: Merge commands when appending 2016-11-03 17:40:52 +09:00
Hajime Hoshi
50b2d8ee94 graphics: Use float values for vertices 2016-11-02 02:34:01 +09:00
Hajime Hoshi
b2be6681d4 graphics: Bug fix: invalid calc of num of quads 2016-11-02 02:08:12 +09:00
Hajime Hoshi
b188a0dd99 affine: Stop using multiple-dimension array for consistency 2016-11-01 23:32:27 +09:00
Hajime Hoshi
edf336499c affine: Revert ColorM implementation to use float64 array 2016-11-01 23:32:24 +09:00
Hajime Hoshi
4915531450 affine: Add ColorM.Equals 2016-11-01 00:28:07 +09:00
Hajime Hoshi
d02c67a996 graphics: Use affine.ColorM instead of graphics.Matrix 2016-11-01 00:20:27 +09:00
Hajime Hoshi
84baee8ca7 Add internals/affine 2016-11-01 00:13:19 +09:00
Hajime Hoshi
49fb2635ec graphics: Remove glMatrix 2016-10-29 05:02:22 +09:00
Hajime Hoshi
6de9e6696e graphics: Cache total bytes 2016-10-29 01:07:19 +09:00
Hajime Hoshi
fbf6b6c525 graphics: Calc capacity of vertices 2016-10-27 01:42:18 +09:00
Hajime Hoshi
5a1eb24138 graphics: Improve speed by using []int16 instead of []uint8 2016-10-26 00:20:41 +09:00
Hajime Hoshi
a65ededc3c graphics: Merge draw commands if possible 2016-10-25 11:53:00 +09:00
Hajime Hoshi
a70f61b1d5 graphics: Remove passing GeoM to the lower layers 2016-10-25 10:42:49 +09:00
Hajime Hoshi
96053702ed graphics: Bug fix: Remove modelview_matrix 2016-10-25 03:17:14 +09:00
Hajime Hoshi
a2cc291573 graphics: Rename variables 2016-10-25 03:04:06 +09:00
Hajime Hoshi
ebf7f0df00 graphics: Add geometry matrix info to vertices 2016-10-25 01:56:59 +09:00
Hajime Hoshi
bc8a8fbae8 graphics: Refactoring: Replace QuadVertexNum with QuadVertexSizeInBytes func 2016-10-23 03:12:11 +09:00
Hajime Hoshi
2c844ec70c graphics: Refactoring: Simplify NextPowerOf2Int 2016-10-23 01:59:04 +09:00
Hajime Hoshi
e72ccee61b graphics: Expose graphics.QuadVertexNum 2016-10-23 01:52:55 +09:00
Hajime Hoshi
af4130c0d6 graphics: Bug fix: wrong argument in VertexAttribPointer 2016-10-22 20:47:33 +09:00
Hajime Hoshi
f21f6d357e graphics: Bug fix: Command splitting threshold is more strict on browsers? 2016-10-22 20:25:58 +09:00
Hajime Hoshi
27acc5efd9 opengl: Use uint8 intead of byte 2016-10-22 18:45:32 +09:00
Hajime Hoshi
17ad889bba graphics: Add a comment 2016-10-22 16:57:09 +09:00
Hajime Hoshi
d981466aed graphics: Use opengl.DataType 2016-10-22 16:52:58 +09:00
Hajime Hoshi
9abeb29d2a opengl: Add DataType 2016-10-22 14:51:23 +09:00
Hajime Hoshi
e5e9b178ae opengl: Fix argument order of VertexAttribPointer 2016-10-22 14:00:45 +09:00
Hajime Hoshi
80e3a3497c opengl: BufferSubData should be able to take generic type 2016-10-22 03:21:53 +09:00
Hajime Hoshi
37c0461573 internal: Fix LicenseComment not to use LICENSE file 2016-10-21 00:30:51 +09:00
Hajime Hoshi
3264532004 doc: Add and use LicenseYear 2016-10-21 00:12:31 +09:00
Hajime Hoshi
3efabe988a graphics: Reduce magic numbers 2016-10-17 11:16:17 +09:00
Hajime Hoshi
cbcbdb0b97 graphics: Refactoring: Introduce arrayBufferLayoutPart 2016-10-17 10:36:33 +09:00
Hajime Hoshi
8ee859df31 graphics: Refactoring: Introduce arrayBufferLayout 2016-10-17 10:03:25 +09:00
Hajime Hoshi
c1b4624890 graphics: Remove unused const 2016-10-17 01:07:16 +09:00
Hajime Hoshi
dc0254db40 ui: Optimized scaling on browsers 2016-09-15 10:04:48 +09:00
Hajime Hoshi
1f8cd41326 windows: Add comments 2016-09-11 22:34:39 +09:00
Hajime Hoshi
5cd048011e restorable: Fix a comment 2016-09-10 01:36:56 +09:00
Hajime Hoshi
959abec06d restoring: Refactoring: Add Image.screen and unify restoring functions 2016-09-04 02:31:50 +09:00
Hajime Hoshi
c73860caa2 restorable: Bug fix: volatile images are not relaiable when restoring 2016-09-04 02:16:58 +09:00
Hajime Hoshi
865a45e052 restorable: Reset states after restoring 2016-09-04 02:11:02 +09:00
Hajime Hoshi
d386f57ac6 restoring: Refactoring: Add Image.volatile 2016-09-04 02:06:54 +09:00
Hajime Hoshi
43e8349567 graphics: Remove imageImpl.width/height 2016-09-04 01:25:02 +09:00
Hajime Hoshi
b8b7e97511 restorable: Remove arguments from restoring functions 2016-09-04 00:57:23 +09:00
Hajime Hoshi
02151e48ea restorable: Remove Image() 2016-09-04 00:53:30 +09:00
Hajime Hoshi
82febc9c6e restorable: Reduce Image() usage and remove MakeStale() 2016-09-03 23:54:52 +09:00
Hajime Hoshi
e7558036ae restorable: Remove IsStale 2016-09-03 23:42:44 +09:00
Hajime Hoshi
cae75fac69 graphics: Bug fix: Invalid Clear calling in Dispose 2016-09-03 23:42:28 +09:00
Hajime Hoshi
fb3724a40e graphics: Remove imageImpl.image member 2016-09-03 23:08:51 +09:00
Hajime Hoshi
438afdac5b restorable: Add NewImage 2016-09-03 22:24:37 +09:00
Hajime Hoshi
9c079917f1 Rename pixels -> restorable 2016-09-03 22:19:59 +09:00
Hajime Hoshi
071b65f173 loop: Remove IsRunning 2016-09-03 21:14:06 +09:00
Hajime Hoshi
cd885ce7c5 ui: Add SetCursorVisibility (#258) 2016-09-03 18:54:21 +09:00
Hajime Hoshi
d08beef412 ui: Bug fix: ScreenScale should not cause deadlock (#264) 2016-09-03 18:04:22 +09:00
Hajime Hoshi
87efaafcff Update GLFW version 3.1 -> 3.2 2016-09-03 16:25:43 +09:00
Hajime Hoshi
84b512a3ac ui: Bug fix: Remove unneeded argument 2016-09-03 02:12:11 +09:00
Hajime Hoshi
ec70ea3be5 ui: Refactoring 2016-09-03 01:06:16 +09:00
Hajime Hoshi
db782ff0d9 ui: Remove UserInterface interface 2016-09-03 00:20:05 +09:00
Hajime Hoshi
f204c14f90 ui: Rename Run -> RunMainThreadLoop 2016-09-03 00:00:44 +09:00
Hajime Hoshi
6164ecb9fc ui: Reduce functions in UserInterface 2016-09-02 23:45:54 +09:00
Hajime Hoshi
128dcaa342 ui: Rename Main -> Run 2016-09-02 02:59:40 +09:00
Hajime Hoshi
571d67f967 ui: Reduce methods in UserInterface 2016-09-02 02:31:03 +09:00
Hajime Hoshi
93a994f1d6 ui: Refactoring on mobile 2016-09-02 01:34:51 +09:00
Hajime Hoshi
453c2c4589 ui: Remove Terminate 2016-09-02 01:07:41 +09:00
Hajime Hoshi
6da16aa1a0 ui: Refactoring: Remove events 2016-09-02 00:53:05 +09:00
Hajime Hoshi
b95d714eed loop: Simplify update 2016-09-01 22:21:58 +09:00
Hajime Hoshi
068bc55ded loop: Remove comments 2016-09-01 10:37:08 +09:00
Hajime Hoshi
1e0bdf844d loop: Bug fix: vsync should not use channels on browsers (#259) 2016-09-01 10:36:00 +09:00
Hajime Hoshi
57a32464dc loop: Use RLock 2016-08-30 23:56:34 +09:00
Hajime Hoshi
53e1f90146 graphics: Bug fix: Don't store interface color.Color value inside (#261) 2016-08-30 23:34:18 +09:00
Hajime Hoshi
c23224c56b loop: Bug fix: the threshold to detect if the game stops was too strict (#) 2016-08-29 01:40:43 +09:00
Hajime Hoshi
cddaae55dd ui: Simplify vsync 2016-08-28 17:09:58 +09:00
Hajime Hoshi
de1bb1b392 go generate 2016-08-27 00:50:26 +09:00
Hajime Hoshi
1cb66048ad doc: go generate; Add style.css 2016-08-26 23:33:36 +09:00
Hajime Hoshi
3dad97af8a Add comments 2016-08-23 00:05:23 +09:00
Hajime Hoshi
749a751369 graphics: Bug fix: Make an image stale when another stale image is drawn to this (#257) 2016-08-23 00:05:11 +09:00
Hajime Hoshi
c54dc8ee1c graphics: Less calls of ReadPixelsFromVRAM 2016-08-20 23:25:45 +09:00
Hajime Hoshi
7b32d7a206 graphics: Bug fix: Pixels should be copied to store it as a command 2016-08-17 22:10:29 +09:00
Hajime Hoshi
612d3b07b0 ui: Bug fix: ui.funcs might be closed before sending a value 2016-08-17 01:57:20 +09:00
Hajime Hoshi
3619a796dc ui: Check the return value of ReleaseDC() 2016-08-09 00:25:47 +09:00
Hajime Hoshi
96a43bcb4d ui: Bug fix: must call ReleaseGC (#251) 2016-08-09 00:09:22 +09:00
Hajime Hoshi
c8edcde2d5 graphics: Image minimum size changed to 1 2016-08-07 17:27:17 +09:00
Hajime Hoshi
f556b19f22 Add error checks 2016-08-03 23:44:54 +09:00
Hajime Hoshi
0aca79ed0b graphics: Add error checks 2016-08-03 11:05:10 +09:00
Hajime Hoshi
8e58f3ce0a ui: Bug fix: closed channel never blocks 2016-08-03 01:07:46 +09:00
Hajime Hoshi
30b521f3b8 Add error checks 2016-08-03 01:02:05 +09:00
Hajime Hoshi
6968e898c3 Bug fix: ui.Main should be suspended when error occurs in the loop 2016-08-02 02:48:19 +09:00
Hajime Hoshi
c7106f595c Add error checks 2016-08-02 02:26:44 +09:00
Hajime Hoshi
9b6b5372ef pixels: Remove image member 2016-07-27 12:24:30 +09:00
Hajime Hoshi
3bc2239a3b pixels: Bug fix: Update image member when creating a new image 2016-07-27 12:13:54 +09:00
Hajime Hoshi
3724815f21 pixels: Rename functions 2016-07-27 02:50:53 +09:00
Hajime Hoshi
459046f52a pixels: Ensure pixels is not stale when restoring 2016-07-27 02:25:08 +09:00
Hajime Hoshi
e0894879f1 pixels: Remove IsStale 2016-07-27 02:20:42 +09:00
Hajime Hoshi
56732d9a23 pixels: Add 'stale' member 2016-07-27 02:17:27 +09:00
Hajime Hoshi
c18756352d pixels: Refactoring 2016-07-27 01:54:23 +09:00
Hajime Hoshi
5c56058d6e pixels Rename s/history/dependency/ 2016-07-27 01:28:16 +09:00
Hajime Hoshi
c5f3eaf925 graphics: Refactoring 2016-07-26 12:28:05 +09:00
Hajime Hoshi
40427b6263 pixels: Bug fix: Reset pixels correctly 2016-07-26 11:40:41 +09:00
Hajime Hoshi
0fc61ed568 pixels: Rename fuctions 2016-07-26 10:51:48 +09:00
Hajime Hoshi
558f559323 graphics: Remove pixels when inconsistent 2016-07-26 10:35:24 +09:00
Hajime Hoshi
1ec503e1b5 pixels: Add comments 2016-07-25 10:38:41 +09:00
Hajime Hoshi
939284820c pixels: Bug fix: Remove IsCleared: pixels state might not match with actual state 2016-07-25 10:22:37 +09:00
Hajime Hoshi
c0eb01d69e pixels: Rename s/flush/reset/ 2016-07-25 09:10:51 +09:00
Hajime Hoshi
95dae4ad45 pixels: Remove 'inconsistent' property 2016-07-25 09:01:00 +09:00
Hajime Hoshi
931e60902f graphics: Refactoring 2016-07-25 08:48:58 +09:00
Hajime Hoshi
f6be72fba2 Add internal/pixels 2016-07-25 02:28:59 +09:00
Hajime Hoshi
e118a755f5 ui: Bug fix: Sizing also calls GLContext 2016-07-24 05:29:47 +09:00
Hajime Hoshi
efe64d56f4 ui: Bug fix: Avoid dead lock 2016-07-24 04:32:12 +09:00
Hajime Hoshi
c5e42c91be ui: Add glcontext.go 2016-07-24 00:05:36 +09:00
Hajime Hoshi
121063ee2b ui: Initialize GLContext at Start 2016-07-23 22:17:36 +09:00
Hajime Hoshi
5a3ea34cfc ui: Delay initializing the context 2016-07-23 21:43:35 +09:00
Hajime Hoshi
3553fc55c3 ui: Unify the context thread and the UI thread 2016-07-23 21:22:59 +09:00
Hajime Hoshi
8371426888 ui: Refactoring 2016-07-23 21:01:30 +09:00
Hajime Hoshi
1953539e22 ui: Refactoring: Simplify initializing 2016-07-23 20:25:52 +09:00
Hajime Hoshi
e3ef0540a3 opengl: Bug fix: Remove infinite for loop and improve FPS on iOS 2016-07-23 02:09:48 +09:00
Hajime Hoshi
d7c2682c53 examples/sprites: Slower increasing num of sprites 2016-07-16 19:34:36 +09:00
Hajime Hoshi
66f262c80e graphics: Enable to draw unlimited number of sprites (#245) 2016-07-16 19:17:57 +09:00
Hajime Hoshi
d00eb131f4 graphics: Remove commandQueue's member indexOffsetInBytes 2016-07-16 04:21:44 +09:00
Hajime Hoshi
7a96f31b1f graphics: Hide MaxQuads 2016-07-16 02:07:16 +09:00
Hajime Hoshi
bc43614c25 graphics: Remove draw.go 2016-07-16 00:17:21 +09:00
Hajime Hoshi
1627176d59 graphics: Restoring by recording drawing-images history 2016-07-13 12:38:59 +09:00
Hajime Hoshi
4bded02ad6 graphics: Add a comment 2016-07-10 14:49:41 +09:00
Hajime Hoshi
0c611d875b graphics: Bug fix: glTexSubImage2D on Android now works (#211) 2016-07-10 05:59:21 +09:00
Hajime Hoshi
1b152ae771 opengl: Bug fix: Reset lastTexture when deleting 2016-07-10 05:04:25 +09:00
Hajime Hoshi
d8e7ec5274 opengl: Initialize lastTexture 2016-07-09 23:14:24 +09:00
Hajime Hoshi
275fc66f06 graphics: Bug fix: textuer should be stored at OpenGL layer 2016-07-09 19:36:34 +09:00
Hajime Hoshi
193c03ea58 ui: Bug fix: Don't use integer scale (JavaScript) 2016-07-09 18:27:29 +09:00
Hajime Hoshi
76f694b948 loop: Bug fix: IsRunning might crash when the game hasn't started yet 2016-07-09 01:44:53 +09:00
Hajime Hoshi
79bdfc0718 opengl: Misspelling 2016-07-07 02:08:28 +09:00
Hajime Hoshi
302f5a5437 opengl: Remove BindScreenFramebuffer 2016-07-05 03:07:33 +09:00
Hajime Hoshi
7e296b1aae graphics: Bug Fix: The screen image should be recreated 2016-07-05 02:57:41 +09:00
Hajime Hoshi
7903fe2108 graphics: Remove texture's width/height 2016-07-05 00:31:02 +09:00
Hajime Hoshi
93f7fdd349 graphics: Remove framebuffer's width/height 2016-07-05 00:29:46 +09:00
Hajime Hoshi
085336d50f graphics: Add newImageImpl 2016-07-05 00:24:06 +09:00
Hajime Hoshi
910e1b760c ui: Introduce glfwScale 2016-07-04 11:37:34 +09:00
Hajime Hoshi
55bfe19bf8 opengl: Add context.DoWork (mobile) 2016-07-04 01:25:35 +09:00
Hajime Hoshi
61ba8dad17 opegnl: Remove initialization (use Reset instead) (mobile) 2016-07-04 01:04:35 +09:00
Hajime Hoshi
6cfb92c4c4 opengl: Remove init (JavaScript) 2016-07-04 00:55:04 +09:00
Hajime Hoshi
0d91883fb9 opengl: Remove init (desktops) 2016-07-04 00:51:58 +09:00
Hajime Hoshi
c2d21bc39f opengl: Misspelling 2016-07-04 00:31:51 +09:00
Hajime Hoshi
163ee01bd5 graphics: Rename Initialize/Resume -> Reset 2016-07-04 00:30:14 +09:00
Hajime Hoshi
d0a779e272 graphics: Delete programs and buffers when resuming 2016-07-04 00:23:45 +09:00
Hajime Hoshi
d70bf66a59 graphics: Reduce imageM usages 2016-07-03 23:23:57 +09:00
Hajime Hoshi
f7a84fe969 graphics: Move all context usages to internal/graphics 2016-07-03 22:35:27 +09:00
Hajime Hoshi
6e76c3ed6b graphics: Move context.resume() to internal/graphics 2016-07-03 21:42:01 +09:00
Hajime Hoshi
146c1e5846 graphics: Refactoring: Remove graphicsContext.Draw and flush 2016-07-03 18:56:44 +09:00
Hajime Hoshi
86144a1cd6 opengl: Move members to variables 2016-07-03 18:23:19 +09:00
Hajime Hoshi
fbc1a4238c graphics: Reduce calls of ui.GLContext() 2016-07-03 17:27:33 +09:00
Hajime Hoshi
93f052de8c graphics: Refactoring 2016-07-03 16:18:29 +09:00
Hajime Hoshi
0e2a1a1636 mobile: Change the unit from px to dp on Android (#241) 2016-07-03 05:37:56 +09:00
Hajime Hoshi
cc39cdc8f5 opengl: Bug fix: glGetShaderPrecisionFormat returns wrong values on emulators (#239) 2016-07-01 02:40:53 +09:00
Hajime Hoshi
47a0b3ccfa ui: Need LockOSThread for mobile 2016-07-01 00:44:15 +09:00
Hajime Hoshi
3ebc5cc15a ui: Stop the game when the window is deactivated (#230) 2016-06-30 01:07:54 +09:00
Hajime Hoshi
ff30f01c1b graphics: Remove Finalize 2016-06-30 00:21:47 +09:00
Hajime Hoshi
328ef85606 opengl: Prepare Context Losing for JavaScript (#217) 2016-06-29 23:18:02 +09:00
Hajime Hoshi
9453f9e7b5 graphics: Fix a comment 2016-06-28 03:05:47 +09:00
Hajime Hoshi
3004d4d7af opengl: Fix a misspell 2016-06-28 02:53:35 +09:00
Hajime Hoshi
af87d3fcf4 graphics: Move a comment 2016-06-27 13:00:32 +09:00
Hajime Hoshi
e822aae4a2 graphics: Add a comment 2016-06-27 02:51:46 +09:00
Hajime Hoshi
f537378f2a opengl: Bug fix: div 0 in shader 2016-06-26 15:57:45 +09:00
Hajime Hoshi
bb511b2c13 ui: Scale is now float64 (#236) 2016-06-25 01:26:59 +09:00
Hajime Hoshi
24bb5b5ca8 graphics: Stop comparing matrices in GLSL, which doesn't work on iPhone5s 2016-06-23 00:25:31 +09:00
Hajime Hoshi
bae27e19d7 doc: Fix README 2016-06-22 12:37:26 +09:00
Hajime Hoshi
56c4e71859 opengl: Remove unneeded glViewport calls 2016-06-22 02:13:23 +09:00
Hajime Hoshi
989ae1ebc5 ui: Fix deviceScale for mobiles 2016-06-19 05:14:02 +09:00
Hajime Hoshi
b0a7e13502 ui: Remove ScreenSizeEvent.Scale 2016-06-19 05:10:27 +09:00
Hajime Hoshi
6f50ef3604 ui: Get correct device scale for iOS 2016-06-19 05:10:27 +09:00
Hajime Hoshi
858b391592 ui: Bug fix: unused variable 2016-06-19 05:05:56 +09:00
Hajime Hoshi
ea377b8e20 ui: More accurate device scale factor 2016-06-19 05:04:38 +09:00
Hajime Hoshi
7528977842 opengl: Bug fix: bindFramebufferImpl should return error 2016-06-19 00:40:44 +09:00
Hajime Hoshi
bc2703c345 opengl: Call glViewport each time when different framebuffer is set 2016-06-18 22:47:34 +09:00
Hajime Hoshi
83ab4352f8 opengl: Consider framebuffer size on iOS 2016-06-18 19:55:04 +09:00
Hajime Hoshi
98fccb563e graphics: Bug fix: Need to reset viewport size after resizing (#232) 2016-06-18 06:47:35 +09:00
Hajime Hoshi
5eb77d2fb5 Remove 'default framebuffer' and add 'screen framebuffer' for iOS 2016-06-18 04:56:13 +09:00
Hajime Hoshi
0b8fe25350 opengl: Implement GlslHighpSupported for iOS 2016-06-17 04:13:46 +09:00
Hajime Hoshi
dfe4db67be Fix for iOS 2016-06-17 02:08:25 +09:00
Hajime Hoshi
10ebe3274c Fix build tags 2016-06-15 03:35:35 +09:00
Hajime Hoshi
13f594baed Fix build tags for iOS (WIP) 2016-06-15 00:19:02 +09:00
Hajime Hoshi
ceea24ab95 loop: Refactoring 2016-06-14 01:33:35 +09:00
Hajime Hoshi
218df19ead loop: Refactoring 2016-06-14 00:50:18 +09:00
Hajime Hoshi
6640f60c88 graphics: Bug fix: screen flicks on Android (#229) 2016-06-14 00:30:27 +09:00
Hajime Hoshi
a1fbf2cd2d graphics: Remove 'Resume' 2016-06-12 23:54:36 +09:00
Hajime Hoshi
5fbbb6dc6a opengl: Check texture/framebuffer is valid before deleting it 2016-06-12 23:19:01 +09:00
Hajime Hoshi
8d258b3c38 graphics: Replace textures/framebuffers with images in commands 2016-06-12 22:44:23 +09:00
Hajime Hoshi
870ce85615 opengl: Remove Pause 2016-06-12 18:18:43 +09:00
Hajime Hoshi
f056204a7c graphics: Add image.go 2016-06-12 01:45:40 +09:00
Hajime Hoshi
68c19d7cae graphics: Hide Texture/Framebuffer 2016-06-12 01:41:50 +09:00
Hajime Hoshi
eca175e0f4 graphics: Add Image 2016-06-12 01:34:21 +09:00
Hajime Hoshi
32c2cb3ead graphics: Add commands to create textures/framebuffers 2016-06-12 00:23:26 +09:00
Hajime Hoshi
2a58c095b8 graphics: Add disposeCommand 2016-06-11 22:52:07 +09:00
Hajime Hoshi
b59206b777 graphics: Move command flushing to ebiten package 2016-06-11 21:50:13 +09:00
Hajime Hoshi
dfd4bc89ed graphics: Revert FlushCommand execution 2016-06-11 20:21:14 +09:00
Hajime Hoshi
f322aaec02 mobile: Add a comment 2016-06-11 05:49:53 +09:00
Hajime Hoshi
912d498cdf graphics: Remove unused arguments 2016-06-11 05:48:09 +09:00
Hajime Hoshi
f71dcd3466 Remove 'Pause' 2016-06-11 00:57:10 +09:00
Hajime Hoshi
eb8e8b6034 ui: Remove FinishRendering 2016-06-10 01:49:21 +09:00
Hajime Hoshi
8121b2102f mobile: Implement Pause and Resume to work correctly 2016-06-10 01:21:46 +09:00
Hajime Hoshi
f03a99e89a opengl: Add Resume() and Pause() 2016-06-10 01:19:10 +09:00
Hajime Hoshi
cabea24815 graphics: Move glFlush to a more appropriate place 2016-06-07 03:02:15 +09:00
Hajime Hoshi
83a96dc532 android: Bug fix: Black flicking (#226) 2016-06-07 02:24:36 +09:00
Hajime Hoshi
9757319848 graphics: Use a const viewport 2016-06-06 01:49:34 +09:00
Hajime Hoshi
26ef56232b opengl: Bug fix: Reset viewport when framebuffer delation 2016-06-05 08:16:16 +09:00
Hajime Hoshi
12904d168d opengl: Bug fix: glViewport must be called after framebuffer deletion 2016-06-05 07:47:11 +09:00
Hajime Hoshi
37473d2f9f graphics: Move a comment 2016-06-05 03:26:00 +09:00
Hajime Hoshi
aa83167e56 graphics: Check the number of vertices 2016-06-05 03:17:53 +09:00
Hajime Hoshi
e5965d7771 opengl: Reduce calls of glSetViewport 2016-06-05 03:16:54 +09:00
Hajime Hoshi
4c2650c721 graphics: Reduce calls of glBindTexture 2016-06-05 01:55:28 +09:00
Hajime Hoshi
bddd3c9467 grahics: Reduce gl function calls 2016-06-04 22:30:52 +09:00
Hajime Hoshi
388dd835a6 opengl: Move ZeroFramebuffer to context.go 2016-06-04 04:04:18 +09:00
Hajime Hoshi
ca3322edbc opengl: Refactoring: Rename functions 2016-06-04 03:50:28 +09:00
Hajime Hoshi
da1354ec51 opengl: Bug fix: Reset the bound framebuffer after deletion (#227) 2016-06-04 03:41:14 +09:00
Hajime Hoshi
56844100c2 temporal hack to pass tests (#227) 2016-06-03 13:16:43 +09:00
Hajime Hoshi
3e912ce7f8 graphics: Optimize commands: call glBufferSubData as less times as possible 2016-06-03 12:52:20 +09:00
Hajime Hoshi
208b27d5de graphics: Use command buffers 2016-06-03 03:24:27 +09:00
Hajime Hoshi
efd019c00e graphics: Remove Texture.Size 2016-06-03 03:07:55 +09:00
Hajime Hoshi
0374bf0538 graphics: Remove Framebuffer.Size 2016-06-03 03:02:59 +09:00
Hajime Hoshi
17f4bcbd95 graphics: Introduce Commands (WIP) 2016-06-03 03:01:27 +09:00
Hajime Hoshi
16ef82fa23 opengl: Reduce CheckFramebufferState call for speed 2016-06-01 03:53:55 +09:00
Hajime Hoshi
91491e58f4 opengl: Reduce glBindFramebuffer calls 2016-06-01 02:33:31 +09:00
Hajime Hoshi
3dfbb4a2ea opengl: Refactoring: Remove unneeded code 2016-06-01 02:14:11 +09:00
Hajime Hoshi
d756d35b59 opengl: Remove unneeded access to a member 2016-06-01 02:06:13 +09:00
Hajime Hoshi
5638bb93f5 opengl: Remove glFlush to improve performance 2016-06-01 01:48:46 +09:00
Hajime Hoshi
1ca76b64f7 graphics: Add a comment 2016-05-31 00:30:04 +09:00
Hajime Hoshi
6663a447cc graphics: Speed optimization 2016-05-29 23:04:20 +09:00
Hajime Hoshi
f6fd8f9c6d graphics: Reduce calling glUseProgram 2016-05-29 22:40:51 +09:00
Hajime Hoshi
583fc07f3a input: Fix compile error 2016-05-29 22:15:28 +09:00
Hajime Hoshi
05104744d3 input: Bug fix: Touches requries lock 2016-05-29 22:13:42 +09:00
Hajime Hoshi
683c692a5b loop: Much better slow-running detection (#223) 2016-05-29 22:02:06 +09:00
Hajime Hoshi
deb2ab1cbf graphics: Refactoring: Reduce array buffer size 2016-05-29 18:34:52 +09:00
Hajime Hoshi
857bc1ed51 loop: Prevent re-entering to Run 2016-05-29 18:34:52 +09:00
Hajime Hoshi
e4ca01db31 mobile: Multitouches (#101) 2016-05-28 23:15:28 +09:00
Hajime Hoshi
6a74ea5b30 Introduce internal/jni 2016-05-28 19:01:26 +09:00
Hajime Hoshi
e84f798c7c input: Bug fix: Coordinate calculation of touch events 2016-05-27 01:47:24 +09:00
Hajime Hoshi
bdaff72af9 input: Implement Touches function (WIP) (#101) 2016-05-27 01:31:30 +09:00
Hajime Hoshi
3195ae32d8 mobile: Implement Pause/Resume 2016-05-24 00:00:54 +09:00
Hajime Hoshi
f251ae8b49 mobile: Handle touch events 2016-05-23 02:06:01 +09:00
Hajime Hoshi
6d06b01cae gomobile bind works 2016-05-22 04:25:15 +09:00
Hajime Hoshi
c36dd3df52 ui: Change Input to be an interface 2016-05-20 00:15:05 +09:00
Hajime Hoshi
d09bb63f71 ui: Change UserInterface to be an interface 2016-05-20 00:07:06 +09:00
Hajime Hoshi
76ea075896 Add example/mobile (not-compilable yet) 2016-05-19 03:17:50 +09:00
Hajime Hoshi
b1afe6aeb2 loop: Refactoring: Remove FPS 2016-05-18 23:27:28 +09:00
Hajime Hoshi
335781759c ui: Introduce ScreenSizeEvent to simplify the run loop 2016-05-18 11:56:43 +09:00
Hajime Hoshi
faff188574 ui: Move Now() to internal/loop and hide it 2016-05-18 11:24:17 +09:00
Hajime Hoshi
cd5436712b ui: Hide Init() func 2016-05-18 11:12:23 +09:00
Hajime Hoshi
a35064db7d ui: Add ui.GLContext() 2016-05-18 11:10:03 +09:00
Hajime Hoshi
063ed564fd Move the run loop to internal/loop 2016-05-18 10:59:37 +09:00
Hajime Hoshi
7f19d4a1ac ui: Remove CurrentUI() 2016-05-18 10:51:11 +09:00
Hajime Hoshi
4d04413bf9 ui: Move the run loop to internal/ui 2016-05-18 10:46:23 +09:00
Hajime Hoshi
5c68ee4034 ui: Use events in the game loop 2016-05-18 02:03:41 +09:00
Hajime Hoshi
49c156d2b5 ui: Rename DoEvents -> Update 2016-05-18 01:22:01 +09:00
Hajime Hoshi
fbd07b1865 graphics: Simplify the size of pixels 2016-05-16 12:27:28 +09:00
Hajime Hoshi
46cbd0c4a0 graphics: Add a func to delete programs and buffers 2016-05-16 11:54:34 +09:00
Hajime Hoshi
ba6d10dec0 graphics: Remove indexBufferLines 2016-05-16 11:34:41 +09:00
Hajime Hoshi
d6bfa72c5c graphics: Remove openGLState.initialize 2016-05-16 11:32:26 +09:00
Hajime Hoshi
9f2b53d24c graphics: Add InitializeIfNeeded function (preparing for Android) 2016-05-15 04:05:57 +09:00
Hajime Hoshi
ebe6296222 opengl: Remove (*Program).Equals 2016-05-15 02:37:25 +09:00
Hajime Hoshi
a3272d0b49 graphics: Refactoring: Reduce global variables 2016-05-15 02:29:54 +09:00
Hajime Hoshi
295e3c0a0a ui: Bug fixed: there was an error shadowed and not used 2016-05-14 03:25:44 +09:00
Hajime Hoshi
a04ce352f8 opengl: Bug fixed: there were some errors shadowed and not used 2016-05-14 03:24:01 +09:00
Hajime Hoshi
0083fe5df1 Changed the copyright year to 2013 (#216) 2016-05-14 00:20:27 +09:00
Hajime Hoshi
9d569e3e49 graphics: Bug fix: now ebiten.Image can be passed to NewImageFromImage (#213) 2016-05-12 11:23:52 +09:00
Hajime Hoshi
9c2857c15d graphics: Compile error of shaders should panic 2016-05-11 00:49:31 +09:00
Hajime Hoshi
c07f16d9a4 opengl: Prepare for Android 2016-05-11 00:47:54 +09:00
Hajime Hoshi
2fee1fae22 graphics: Dispose now returns errors 2016-05-07 23:34:10 +09:00
Hajime Hoshi
57a9ecd821 ui: Refactoring 2016-05-07 22:27:10 +09:00
Hajime Hoshi
9560824dfc opengl: Add context.go 2016-05-07 19:42:07 +09:00
Hajime Hoshi
df23b57b16 openg: Refactoring 2016-05-07 19:26:35 +09:00
Hajime Hoshi
de541bdd7d opengl: Update context_mobile.go 2016-05-07 19:12:19 +09:00
Hajime Hoshi
e99736d5a5 opengl: Refactoring 2016-05-07 19:07:56 +09:00
Hajime Hoshi
209b4e6864 ui: Add Main for the OS main thread 2016-05-06 21:30:23 +09:00
Hajime Hoshi
5a379cb7cb Reduce panics (#196) 2016-04-11 01:48:40 +09:00
Hajime Hoshi
3ec0020f02 graphics: Bug fix (#201): Remove gl.Flush for performance (this ws added by #161 but no longer needed because of BindZeroFrameBuffer) 2016-04-08 21:45:53 +09:00
Hajime Hoshi
07da7a2348 graphics: Refactoring 2016-04-08 04:39:13 +09:00
Hajime Hoshi
b2c5cb164a graphics: Calculate vertices ahead of locking 2016-04-08 03:18:52 +09:00
Hajime Hoshi
492f471ec3 graphics: Early return when num of vertices is 0 2016-04-08 02:49:53 +09:00
Hajime Hoshi
75ef9a6d47 ui: Add read-write lock 2016-03-26 17:24:40 +09:00
Hajime Hoshi
4a60343fe6 ui: Don't use currentUI directly 2016-03-26 15:17:01 +09:00
Hajime Hoshi
95485441f4 ui: Remove dataset attributes 2016-03-25 01:15:47 +09:00
Hajime Hoshi
fb3bf4e3b4 ui: Add CurrentUI() 2016-03-25 00:38:30 +09:00
Hajime Hoshi
6ac6b8e7c0 input: Make functions goroutine-safe (#192) 2016-03-24 23:51:20 +09:00
Hajime Hoshi
6efead974f ui: Rename ActualScale -> ActualScreenScale 2016-03-23 01:14:28 +09:00
Hajime Hoshi
62dffe5405 Add ebiten.ScreenScale() (#191) 2016-03-23 00:44:16 +09:00
Hajime Hoshi
2157061479 ui: Use actualScale to calc minimum window size 2016-03-22 12:01:53 +09:00
Hajime Hoshi
993a55abde ui: Set window width limitation for Windows (#165) 2016-03-22 11:56:40 +09:00
Hajime Hoshi
b02df7b542 graphics: Bug fix #186 by clearing non-black-or-white color 2016-03-17 03:31:12 +09:00
Hajime Hoshi
8f15978c83 ui: Bug fix: Quit soon after the window is closed (#185) 2016-03-15 00:32:06 +09:00
Hajime Hoshi
b1f856a0e0 Add FPS const 2016-03-13 04:57:31 +09:00
Hajime Hoshi
c6fc5ab865 graphics: CompositionMode -> CompositeMode (#170) 2016-03-01 02:16:32 +09:00
Hajime Hoshi
1eb623cf16 Add example 'masking' (#39) 2016-03-01 02:10:45 +09:00
Hajime Hoshi
321f5e376e opengl: Cache a composition mode 2016-02-29 01:44:09 +09:00
Hajime Hoshi
8ae1e292ab graphics: Introduce CompositionMode (#151) 2016-02-29 01:37:06 +09:00
Hajime Hoshi
3588d0b485 ui: Move vsync to ui.SwapBuffers on JavaScript version 2016-02-28 03:49:57 +09:00
Hajime Hoshi
fc200ec6f2 ui: Bug fix: The default framebuffer must be bound before swapping buffers 2016-02-28 00:56:39 +09:00
Hajime Hoshi
05eaec6dd9 ui: Bug fix: scale for cursor was wrong (#166) 2016-02-27 17:04:35 +09:00
Hajime Hoshi
997539b243 opengl: Unexport Attrib/UniformLocation 2016-02-27 03:13:42 +09:00
Hajime Hoshi
ccf0acf7ca opengl: Reduce global variables 2016-02-27 03:05:12 +09:00
Hajime Hoshi
93f9d9fbb0 opengl: Introduce locationCache struct 2016-02-27 03:01:55 +09:00
Hajime Hoshi
3c4aa7ec1e opengl: Unexport some interfaces 2016-02-27 02:43:00 +09:00
Hajime Hoshi
2bda89709f opengl: Unexport ProgramID 2016-02-27 02:41:38 +09:00
Hajime Hoshi
495d7ca0d1 graphics: NextPowerOf2Int -> NextPowerOf2Int32 2016-02-27 02:35:05 +09:00
Hajime Hoshi
5fe013ddbd graphics: Remove Lines and Rects 2016-02-27 02:30:06 +09:00
Hajime Hoshi
f432c15078 opengl: GetProgramID() -> Program.ID() 2016-02-27 02:27:39 +09:00
Hajime Hoshi
7617a225f6 ui: deviceScaleFactor -> deviceScale 2016-02-27 02:17:31 +09:00
Hajime Hoshi
651d803107 ui: Change how to calc framebuffer scale 2016-02-27 01:53:02 +09:00
Hajime Hoshi
8069c980c3 ui: Refactoring: Add ui.ActualScale() 2016-02-27 01:44:01 +09:00
Hajime Hoshi
138a689382 ui: Refactoring 2016-02-27 01:35:14 +09:00
Hajime Hoshi
e2cf288ed7 ui: Bug fix: Wrong framebuffer scale 2016-02-26 03:50:00 +09:00
Hajime Hoshi
c97cae9598 ui: Remove println :-( 2016-02-26 03:45:52 +09:00
Hajime Hoshi
868eef0c2f ui: Bug fix: Consider that (frame buffer width) / (window width) can be more than 1 (#164) 2016-02-26 03:44:37 +09:00
Hajime Hoshi
fc7be5be3c ui: Bug fix: monitor's size might be 0 e.g. on Linux VM 2016-02-26 03:14:51 +09:00
Hajime Hoshi
4d53cf20da ui: Calculate DPI and set the actual scale based on DPI 2016-02-26 03:09:23 +09:00
Hajime Hoshi
3d79e086a9 opengl: Rename some functions not to be exported 2016-02-26 02:03:24 +09:00
Hajime Hoshi
ce9f957cd8 opengl: Use go-gl/gl again (#162) 2016-02-26 02:01:13 +09:00
Hajime Hoshi
20e9b91336 opengl: Bug fix: Misusage of Texture 2016-02-25 02:21:44 +09:00
Hajime Hoshi
73856a2298 opengl: IsTexture/IsFramebuffer fails on OSX 2016-02-25 02:17:28 +09:00
Hajime Hoshi
06ec244ff3 opengl: Use gl.IsTexture and gl.IsFramebuffer 2016-02-25 01:11:40 +09:00
Hajime Hoshi
6d5e09ad36 opengl: use fmt.Errorf for error messages 2016-02-24 23:30:43 +09:00
Hajime Hoshi
922f392544 ui: Bug fix: Call glFinish before glfwSwapBuffers to make sure all OpenGL tasks are executed (#161) 2016-02-24 22:57:19 +09:00
Hajime Hoshi
888c7dadfd opengl: Bug fix: Use attrib/uniform cache 2016-02-24 01:34:24 +09:00
Hajime Hoshi
2d78d14e83 opengl: Avoid using encoding/binary for speed 2016-02-24 01:32:56 +09:00
Hajime Hoshi
e8a3e04535 opengl: Error prefix 2016-02-24 00:31:28 +09:00
Hajime Hoshi
ffb8a78e37 ui: Error prefix 2016-02-23 03:27:06 +09:00
Hajime Hoshi
59adc6979a ui: Bug fix: Adjust scaling factor on Linux (#157) 2016-02-23 01:41:57 +09:00
Hajime Hoshi
9e161864f6 ui: Bug fix: Make sure current framebuffers rendered (#158) 2016-02-22 03:14:31 +09:00
Hajime Hoshi
18a798f85c ui: Refactoring 2016-02-22 01:30:33 +09:00
Hajime Hoshi
0a07d8531b ui: Bug fix: SetPos should be called after Show at least on Linux 2016-02-21 23:11:39 +09:00
Hajime Hoshi
6e98e0716d ui: SwapBuffer is now done on the rendering context thread 2016-02-21 22:20:33 +09:00
Hajime Hoshi
bb39766873 ui: Bug fix: gl* method should be called after looping starts 2016-02-21 21:53:48 +09:00
Hajime Hoshi
bae6d62067 ui: Refactoring 2016-02-21 18:01:43 +09:00
Hajime Hoshi
60a504543f ui: Add OpenGL version 2016-02-21 17:27:26 +09:00
Hajime Hoshi
6c14c31c55 ui: Remove an unneeded prefix 2016-02-21 17:12:00 +09:00
Hajime Hoshi
591d71b447 ui: Bug fix: Init should always return a opengl context 2016-02-21 04:56:27 +09:00
Hajime Hoshi
46c74ec818 ui: Bug fix: compile error (a return value is required) 2016-02-21 02:19:40 +09:00
Hajime Hoshi
a4092a1bf1 ui: Bug fix: compile error 2016-02-21 02:15:14 +09:00