Commit Graph

5084 Commits

Author SHA1 Message Date
Hajime Hoshi
ae450433db Move some files of internal to internal/graphics 2015-01-27 00:08:24 +09:00
Hajime Hoshi
e23b0758e5 Merge internal/graphics/internal/shaders into internal/graphics 2015-01-26 23:32:50 +09:00
Hajime Hoshi
346bc53d53 Move internal/opengl -> internal/graphics/internal/opengl 2015-01-26 23:27:28 +09:00
Hajime Hoshi
2aa6ebb471 Move internal/assets -> ebitenutil/internal/assets 2015-01-26 22:09:47 +09:00
Hajime Hoshi
17b7969764 audio: Reduce the buffer size (OpenAL) 2015-01-26 10:14:03 +09:00
Hajime Hoshi
6a0c5dfb03 audio: Change the number of buffers 2015-01-26 03:53:40 +09:00
Hajime Hoshi
205c6f1462 audio: Bug fix: Reduce delay for desktops 2015-01-26 01:58:32 +09:00
Hajime Hoshi
7692cf6a1b audio: Refactoring 2015-01-26 01:39:43 +09:00
Hajime Hoshi
9e7dfa2f16 audio: Bug fix: Multi source (or nodes) should be used to play multi sounds 2015-01-26 01:20:56 +09:00
Hajime Hoshi
701de9f82b audio: Bug fix: half volume of any sound on GopherJS 2015-01-25 23:38:26 +09:00
Hajime Hoshi
e1336c2eba audio: Change API: accept []int16 instead of []float32 2015-01-25 19:17:53 +09:00
Hajime Hoshi
c2313c10c1 audio: Grace returning when audio is not available 2015-01-25 16:04:49 +09:00
Hajime Hoshi
fe91d341ac audio: Implement for desktops with OpenAL (#104) 2015-01-25 01:51:51 +09:00
Hajime Hoshi
a8e3b2b619 audio: Start implementing with OpenAL (not finished yet) 2015-01-24 22:20:09 +09:00
Hajime Hoshi
2d5ac9e987 audio: Add comments, add IsPlaying 2015-01-24 21:46:35 +09:00
Hajime Hoshi
2c7430171d audio: Add comments 2015-01-24 15:48:48 +09:00
Hajime Hoshi
edda664ca8 audio: Refactoring 2015-01-24 14:53:42 +09:00
Hajime Hoshi
b57c675996 Remove internal.RGBA 2015-01-24 14:53:40 +09:00
Hajime Hoshi
4d702f964f audio: CurrentBytes returns the time on inserting new sound chunk 2015-01-24 14:53:33 +09:00
Hajime Hoshi
88ac129dd6 Refactoring: only one nextInsertion is needed 2015-01-23 21:51:21 +09:00
Hajime Hoshi
8d250c6b25 audio: Add channel.nextInsertion 2015-01-23 10:58:18 +09:00
Hajime Hoshi
4b74411922 audio: Introduce channels 2015-01-23 03:02:23 +09:00
Hajime Hoshi
ba3a612ce4 Bug fix: Add 'Add' method for non-js environment 2015-01-21 10:37:15 +09:00
Hajime Hoshi
4c37efd673 Merge branch 'master' into audio 2015-01-21 10:12:14 +09:00
Hajime Hoshi
1fa39e3b8a Fix a variable name 2015-01-21 10:12:05 +09:00
Hajime Hoshi
5b41374ac7 Support touch events (esp. for mobile browsers) (#76) 2015-01-21 02:58:29 +09:00
Hajime Hoshi
d994f34d53 Add image.ReplacePixels; Add example/noise (#89) 2015-01-20 23:58:58 +09:00
Hajime Hoshi
ff020e8b1c example/keyboard: Add a keyboard image 2015-01-18 21:33:59 +09:00
Hajime Hoshi
0bd0a4dbc2 Rename image.FillRect -> DrawFilledRect (FillRect is confusing with Fill) 2015-01-18 04:19:38 +09:00
Hajime Hoshi
26358f3e63 Revert lines' vetices (float64 -> int) 2015-01-17 23:33:57 +09:00
Hajime Hoshi
f0d40b4e1f Revert rectangles' vetices (float64 -> int) 2015-01-17 23:31:09 +09:00
Hajime Hoshi
1659e9abab Bug fix: Line's vertices should be moved by 0.5 2015-01-17 23:04:19 +09:00
Hajime Hoshi
683ffafe8d Bug fix: image.Pixels didn't work on WebGL 2015-01-17 19:06:58 +09:00
Hajime Hoshi
efe7b62745 Refactoring (use math.MaxUint16) 2015-01-17 14:44:47 +09:00
Hajime Hoshi
58e2f27513 Use gl.* types instead of int 2015-01-17 14:21:38 +09:00
Hajime Hoshi
8c15b57d58 Add image.DrawLine / DrawLines 2015-01-17 14:17:42 +09:00
Hajime Hoshi
22e6996f74 Remove rectVertexQuads 2015-01-17 03:51:21 +09:00
Hajime Hoshi
db9f5e0984 example:shapes Bug fix: Structs containing js.Object can't be compared again 2015-01-17 01:11:30 +09:00
Hajime Hoshi
fe69c04f8f Bug fix: Structs containing js.Object can't be compared (for now) 2015-01-17 00:56:38 +09:00
Hajime Hoshi
8564ba8541 Use (un)signed short vertices (#90) 2015-01-16 10:37:26 +09:00
Hajime Hoshi
155be5a88d Add Rect.Color 2015-01-16 01:57:10 +09:00
Hajime Hoshi
037f35b0db Pass color values for each vertex on drawing rects 2015-01-16 01:57:07 +09:00
Hajime Hoshi
b2924d193b Use vertices for DrawTexture 2015-01-16 01:01:52 +09:00
Hajime Hoshi
2ec8c39cdd Remove the first argument of FillFramebuffer 2015-01-15 23:42:08 +09:00
Hajime Hoshi
3e376cae18 Update for the latest GopherJS (js.Object can't be casted to other types) 2015-01-15 23:26:05 +09:00
Hajime Hoshi
59ed15b2f7 Bug fix: Use prevent default properly 2015-01-15 22:28:05 +09:00
Hajime Hoshi
25cf2dab22 sprites: Speed up: use float64 as often as possible 2015-01-14 23:58:34 +09:00
Hajime Hoshi
3200ae58a4 Fix a comment 2015-01-14 23:38:25 +09:00
Hajime Hoshi
cb26342b3d Bug fix (#85): The limit of the size of vertices was wrong 2015-01-14 23:29:14 +09:00
Hajime Hoshi
f27ba0ea03 Enable gopherjs test 2015-01-14 23:16:06 +09:00
Hajime Hoshi
6aef42d6fa Bug fix: limit for the number of vertices 2015-01-14 10:31:09 +09:00
Hajime Hoshi
665ef46064 Add example/sprites (#83) 2015-01-13 23:03:37 +09:00
Hajime Hoshi
0328b049d0 Add image.DrawRects (experimental) 2015-01-13 10:36:19 +09:00
Hajime Hoshi
f0519b8604 Use location cache 2015-01-12 23:16:34 +09:00
Hajime Hoshi
9418d4c577 Change useProgramTexture not to return program 2015-01-12 21:04:52 +09:00
Hajime Hoshi
243208b849 Rename programColorMatrix -> programFragmentShader 2015-01-12 18:34:02 +09:00
Hajime Hoshi
02dbeef1b9 Add docs for gamepad API (I checked it worked on Chrome) 2015-01-12 14:59:12 +09:00
Hajime Hoshi
8987f7a645 Implement Gamepad API for JavaScript (working on Firefox so far) 2015-01-12 14:36:13 +09:00
Hajime Hoshi
a500d3a3f8 Improve example/gamepad 2015-01-12 13:33:21 +09:00
Hajime Hoshi
a6b7eab71b Add Gamepad API 2015-01-12 02:29:56 +09:00
Hajime Hoshi
a220251716 Play music at example/audio 2015-01-11 19:52:11 +09:00
Hajime Hoshi
355da1bcbc Add Experimental Audio API 2015-01-11 18:03:51 +09:00
Hajime Hoshi
3b02993a5d Modify comments 2015-01-10 19:59:47 +09:00
Hajime Hoshi
15c7341816 Replace .on* = func -> addEventListener = func 2015-01-10 15:51:07 +09:00
Hajime Hoshi
e656b607f6 Add TODO comment 2015-01-10 01:02:26 +09:00
Hajime Hoshi
6dbe57ec11 Change test import paths 2015-01-10 00:55:53 +09:00
Hajime Hoshi
e7599a6d85 docs: Move example *.js and *.js.map files to another repository 2015-01-10 00:45:21 +09:00
Hajime Hoshi
d96de18074 Remove TODOs 2015-01-09 12:13:29 +09:00
Hajime Hoshi
1dd1403aac Bug fix: opengl.NewBuffer may accept integer value (glfw) 2015-01-09 02:28:16 +09:00
Hajime Hoshi
636ae84ad5 Resolve TODOs 2015-01-09 02:02:56 +09:00
Hajime Hoshi
eb325c9684 Update docs 2015-01-08 23:45:30 +09:00
Hajime Hoshi
5dade52621 Bug fix: Use document.hidden (focus/blue event is not reliable when using <iframe>) 2015-01-08 11:56:21 +09:00
Hajime Hoshi
d933c54e20 Bug fix: Check window.top's focus in case that game is in <iframe> 2015-01-08 02:24:05 +09:00
Hajime Hoshi
a1214ff735 Stop the game when the window is not active (#69) 2015-01-08 01:35:09 +09:00
Hajime Hoshi
6efb806cc2 Stabilize FPS for JS 2015-01-08 00:44:41 +09:00
Hajime Hoshi
9915e6764a Bug fix: blurred canvas in Retina display (#68) 2015-01-08 00:01:18 +09:00
Hajime Hoshi
27cd0610d1 Add 'auto-generated' notices (#66) 2015-01-07 23:21:52 +09:00
Hajime Hoshi
4eaa16b8d1 Rename mod key names 2015-01-07 23:18:40 +09:00
Hajime Hoshi
6bdc875596 Bug fix: Ignore unknown keys 2015-01-07 23:02:58 +09:00
Hajime Hoshi
f78c79a5dd Bug fix: onkeydown function should return false to prevent browser shortcuts 2015-01-07 23:01:23 +09:00
Hajime Hoshi
a710db4c9e Bug fix: invalidate function keys, backspace on browsers 2015-01-07 11:22:48 +09:00
Hajime Hoshi
9f40da41fc Add backspace (not tested) 2015-01-07 11:22:25 +09:00
Hajime Hoshi
62d1395670 Arrange key's order 2015-01-07 11:00:15 +09:00
Hajime Hoshi
74e3c40740 Yield focus to canvas on clicking body 2015-01-07 04:39:33 +09:00
Hajime Hoshi
795e7c8eb2 Focus canvas on start (#64) 2015-01-07 04:34:47 +09:00
Hajime Hoshi
03cf0a7069 Bug fix: glfw.MouseButton should be converted to MouseButton 2015-01-07 04:04:04 +09:00
Hajime Hoshi
7677d885a2 Remove MouseButtonMax 2015-01-07 03:08:33 +09:00
Hajime Hoshi
bc26690b14 Add genkey.go 2015-01-07 03:05:59 +09:00
Hajime Hoshi
9d12a23172 Bug fix: preventDefault may prevent other events 2015-01-07 02:24:47 +09:00
Hajime Hoshi
a9f1b4f0e9 Add keys_glfw.go and keys_js.go 2015-01-07 00:05:46 +09:00
Hajime Hoshi
0ab90197a3 Implement IsMouseButtonPressed / CursorPosition in JS (#53) 2015-01-06 23:41:03 +09:00
Hajime Hoshi
b85bae38e9 Change the way to generate assets not to use unsafe; Unsafe doesn't work in GopherJS at least 2015-01-06 22:59:15 +09:00
Hajime Hoshi
c98631a703 Add input_glfw.go; Rename ui.go -> ui_glfw.go 2015-01-06 21:54:42 +09:00
Hajime Hoshi
324e8653fb Update docs to use GopherJS (#54) 2015-01-06 00:44:39 +09:00
Hajime Hoshi
3f45685136 Centering <canvas> 2015-01-05 22:22:47 +09:00
Hajime Hoshi
1a4b25b23f Change <title> on ui.Start (#56) 2015-01-05 22:08:22 +09:00
Hajime Hoshi
cdc29210db Introduce ImageParts 2015-01-05 09:32:27 +09:00
Hajime Hoshi
8994ffad9b Avoid copying arrays 2015-01-04 22:26:20 +09:00
Hajime Hoshi
265a85e922 Update for newer gopherjs 2015-01-04 22:25:58 +09:00
Hajime Hoshi
abed162e91 Bug fix: initial capacity of vertices 2015-01-03 16:25:17 +09:00
Hajime Hoshi
f80850ef14 Reduce calling gl.Flush 2015-01-03 16:21:09 +09:00
Hajime Hoshi
52e610845b Avoid using struct key 2015-01-03 16:16:43 +09:00
Hajime Hoshi
3ad8d8ea2c Use attrib location cache 2015-01-03 15:56:54 +09:00
Hajime Hoshi
13a94d3446 Avoid type switch 2015-01-03 15:52:02 +09:00
Hajime Hoshi
71d463c102 Avoid copying for performance; Use location caches 2015-01-03 15:21:47 +09:00
Hajime Hoshi
1117862d19 Avoid copying for performance 2015-01-03 14:23:31 +09:00
Hajime Hoshi
447bda7d68 Remove calling gl.checkFramebufferStatus 2015-01-03 02:01:30 +09:00
Hajime Hoshi
091cc215fb Remove NextPowerOf2 (for uint64) 2015-01-03 01:46:25 +09:00
Hajime Hoshi
62f47ed02f Change the body's background color black 2015-01-03 01:19:25 +09:00
Hajime Hoshi
ae04bb17f6 Reduce calling glFlush 2015-01-03 01:14:36 +09:00
Hajime Hoshi
47227139db Implement keyboard events for js 2015-01-03 00:52:49 +09:00
Hajime Hoshi
5c755f2f31 Fix BindFramebuffer to pass JS null object explicitly 2015-01-02 23:52:40 +09:00
Hajime Hoshi
24c39bcd18 Fix shaders for WebGL 2015-01-02 23:31:32 +09:00
Hajime Hoshi
bd4434c62c Add loadimage_js.go 2015-01-02 16:48:07 +09:00
Hajime Hoshi
cadb3fffdf Add ui_js.go and input_js.go 2015-01-02 15:20:05 +09:00
Hajime Hoshi
c95390801a Add keys.go 2015-01-02 03:29:51 +09:00
Hajime Hoshi
c4e104a5d2 Remove ui.ActualScale() 2015-01-02 03:28:43 +09:00
Hajime Hoshi
3d01084a2a Hide structs in internal/ui 2015-01-02 03:25:31 +09:00
Hajime Hoshi
a9e323d02c Rename input -> Input 2015-01-02 02:44:00 +09:00
Hajime Hoshi
8994bf4fad Rename RealScale -> ActualScale 2015-01-02 02:23:47 +09:00
Hajime Hoshi
96f5315c49 Add internal/ui module 2015-01-02 02:13:27 +09:00
Hajime Hoshi
bcbaf2e674 Bug fix: opengl.Program can't take 0 (in gopherjs) 2014-12-31 23:53:54 +09:00
Hajime Hoshi
438380bb6e Add context_js.go 2014-12-31 23:34:50 +09:00
Hajime Hoshi
25fb0a9e31 Unify Uniform* methods 2014-12-31 20:07:27 +09:00
Hajime Hoshi
e10bcb3dd8 Move some methods to opengl.Context 2014-12-31 19:27:41 +09:00
Hajime Hoshi
4e3beb65f0 Rename Framebuffer.framebuffer -> Framebuffer.native 2014-12-31 18:00:53 +09:00
Hajime Hoshi
cdcc46543b Remove all dependencies on go-gl/gl from internal/graphics 2014-12-31 17:54:29 +09:00
Hajime Hoshi
f88154f380 Add opengl.Context.NewBuffer 2014-12-31 17:45:23 +09:00
Hajime Hoshi
7597268e85 Remove dependency on go-gl/gl in framebuffer.go 2014-12-31 17:04:03 +09:00
Hajime Hoshi
37828c452f Add opengl.AttribLocation 2014-12-31 17:01:08 +09:00
Hajime Hoshi
b8dde70b03 Add opengl.UniformLocation 2014-12-31 16:48:25 +09:00
Hajime Hoshi
dc6a153c65 Add opengl.Context.NewShader 2014-12-31 16:12:13 +09:00
Hajime Hoshi
a4a4c91eb1 Add opengl.Framebuffer.Fill 2014-12-31 15:26:06 +09:00
Hajime Hoshi
fbcd04cda8 Add opengl.Framebuffer.SetAsViewport 2014-12-31 15:22:15 +09:00
Hajime Hoshi
b1d4ce2120 Add opengl.Texture.Pixels 2014-12-31 15:11:19 +09:00
Hajime Hoshi
cc9b874dd0 Add opengl.NewTexture 2014-12-31 15:00:28 +09:00
Hajime Hoshi
efb759d23c Add package internal/opengl 2014-12-31 03:04:52 +09:00
Hajime Hoshi
450a8da267 Rename internal/opengl -> internal/graphics 2014-12-31 02:55:17 +09:00
Hajime Hoshi
0f569807e2 Bug fix: rename short32Size -> float32Size 2014-12-31 02:46:37 +09:00
Hajime Hoshi
957b4d392f Refactoring: Hide some functions of opengl 2014-12-31 02:06:08 +09:00
Hajime Hoshi
22035e79fe Reduce panics (#16) 2014-12-29 00:21:40 +09:00
Hajime Hoshi
7dd9368ad7 Compress text.png 2014-12-27 23:09:52 +09:00
Hajime Hoshi
4a07c6f0df Refactoring: gl bug fix 2014-12-27 17:58:39 +09:00
Hajime Hoshi
48f639db02 Bug fix: glfw's framebuffer might be lately changed after consuming some events 2014-12-26 20:44:35 +09:00
Hajime Hoshi
ce81251730 Bug fix: gl.EnableClientState should not be called 2014-12-26 20:13:57 +09:00
Hajime Hoshi
f2fbd991d2 Rename ImageDrawOptions -> DrawImageOptions (#43) 2014-12-26 01:39:48 +09:00
Hajime Hoshi
389b2b75f2 Remove currentVBO 2014-12-26 01:19:08 +09:00
Hajime Hoshi
c156cb1e66 Use VBO for vertices, tex coords (#2) 2014-12-26 01:11:42 +09:00
Hajime Hoshi
7f6e440d97 Use VBO for indices (#2) 2014-12-25 23:16:18 +09:00
Hajime Hoshi
373371d1b2 Change license comments style to use magic comments (magic comments like +build should be placed before a general comment) 2014-12-24 11:04:10 +09:00
Hajime Hoshi
27fe3d9ab8 Reduce depndencies on go-gl/gl 2014-12-23 04:32:36 +09:00
Hajime Hoshi
cd9efd3932 Implement image.Image at ebiten.Image (#35) 2014-12-23 01:27:11 +09:00
Hajime Hoshi
095c3ca380 Rename opengl.Image (that is originally wrong) -> opengl.Framebuffer 2014-12-23 00:01:22 +09:00
Hajime Hoshi
1663ad2250 Remove shader programColorFinal 2014-12-22 22:49:14 +09:00
Hajime Hoshi
2620414409 Simplify shaders 2014-12-22 21:51:58 +09:00
Hajime Hoshi
a3b0831472 Change the texture pixel format to premultiplied alpha (#36) 2014-12-22 21:39:25 +09:00
Hajime Hoshi
0f8ac49055 Unify RenderTarget and Image into Image (#34) 2014-12-22 11:10:08 +09:00
Hajime Hoshi
89c6e7c371 Add comments 2014-12-22 01:54:07 +09:00
Hajime Hoshi
99434fa9d3 Bug fix: Consider color.Color.RGBA returns alpha-premultiplied values 2014-12-22 01:05:21 +09:00
Hajime Hoshi
79b67db0d8 Rename AdjustSizeForTexture -> NextPowerOf2Int 2014-12-21 02:05:08 +09:00
Hajime Hoshi
59270a6b54 Refactoring 2014-12-21 01:04:49 +09:00
Hajime Hoshi
aed317649f Rename members of TextureQuad 2014-12-21 00:59:32 +09:00
Hajime Hoshi
991adb7449 Change RenderTexture to interface 2014-12-21 00:36:27 +09:00
Hajime Hoshi
01e0d42451 Remove GraphicsContext; Add rendering methods to RenderTarget (#26) 2014-12-20 23:24:15 +09:00
Hajime Hoshi
d4cd858eeb Improve alphablending example 2014-12-20 19:11:06 +09:00
Hajime Hoshi
df35a0ce1e Bug fix: the default framebuffer can't bind a texture 2014-12-20 18:57:00 +09:00
Hajime Hoshi
02660346c3 Call gl.Flush in DrawTexture 2014-12-20 15:36:31 +09:00
Hajime Hoshi
ccef1b5e65 Remove unneeded shaders 2014-12-20 05:59:07 +09:00
Hajime Hoshi
6673a39fa2 Introduce Photoshop-like alpha blending 2014-12-20 05:57:18 +09:00
Hajime Hoshi
f3e4d1703d Add Texture.Width, Height and RenderTarget.Width, Height 2014-12-17 22:50:44 +09:00
Hajime Hoshi
1c460d80c3 Add examples/image 2014-12-17 17:10:38 +09:00
Hajime Hoshi
c1fa38ebed Remove panic 2014-12-14 21:38:54 +09:00
Hajime Hoshi
60aad4326e Hide members of RenderTarget (again) 2014-12-14 18:34:47 +09:00
Hajime Hoshi
8319e0d41d Remove package glfw (once) 2014-12-14 17:00:11 +09:00
Hajime Hoshi
76b7da090c Remove dependencies on ebiten from opengl 2014-12-14 15:26:10 +09:00
Hajime Hoshi
d264d7a06b Remove dependencies on ebiten from shader 2014-12-13 14:53:54 +09:00
Hajime Hoshi
4addf8f9af Rename PushOffscreen -> PushRenderTarget 2014-12-13 14:53:53 +09:00
Hajime Hoshi
54509e42cf Add GraphicsContext.PushOffscreen / PopOffscreen (#21) 2014-12-11 03:50:35 +09:00
Hajime Hoshi
f388a48d52 Add go:generate gofmt 2014-12-11 02:03:13 +09:00
Hajime Hoshi
d5529d4351 Add ebitenutil/debugprint.go 2014-12-11 01:59:38 +09:00
Hajime Hoshi
a39f0e904d Remove some methods; Add Game.Initialize 2014-12-11 01:12:46 +09:00
Hajime Hoshi
343916ad29 Add GameContext; Remove Input and TextureFactory 2014-12-10 23:52:37 +09:00
Hajime Hoshi
b313578a24 Add ebiten/runner; Move glfw -> internal/glfw 2014-12-10 22:55:34 +09:00
Hajime Hoshi
ab47f14124 Move opengl -> internal/opengl 2014-12-10 00:25:54 +09:00