Commit Graph

429 Commits

Author SHA1 Message Date
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
Hajime Hoshi
408444842a Refactoring: ui.Init now returns gl.Context object 2016-02-20 20:08:53 +09:00
Hajime Hoshi
63f2c3cb9f graphics: Refactoring: remove ExecOnUIThread 2016-02-20 04:39:43 +09:00
Hajime Hoshi
5cfefaf1a2 graphics: Refactoring: remove ui goroutines 2016-02-20 04:08:06 +09:00
Hajime Hoshi
269d94b145 graphics: Add worker consumer 2016-02-19 11:43:16 +09:00
Hajime Hoshi
93450b1664 graphics: Compiled (but can't run yet) 2016-02-19 03:06:23 +09:00
Hajime Hoshi
5c61284c84 graphics: Refactoring: Remove an unsed argument 'signed' 2016-02-18 03:01:41 +09:00
Hajime Hoshi
d99ddab6f8 graphics: Reduce calling TextureQuad.Len() 2016-02-17 00:45:19 +09:00
Hajime Hoshi
169d57936c graphics: Speed improvement by returning single value 2016-02-17 00:21:39 +09:00
Hajime Hoshi
ef4828669c graphics: Bug fix: must skip rendering when 0 vertices are set 2016-02-16 02:45:56 +09:00
Hajime Hoshi
1e9fb05161 graphics: Move makeing vertices from drawTexture to textureQuads to avoid copying 2016-02-16 02:26:40 +09:00
Hajime Hoshi
6d2148f3ea graphics: Remove unneeded 'if' 2016-02-16 01:55:39 +09:00
Hajime Hoshi
f5b4179142 graphics: Avoid calling Len() too many times 2016-02-16 01:51:34 +09:00
Hajime Hoshi
537cfea8a4 graphics: Avoid using append 2016-02-16 01:49:27 +09:00
Hajime Hoshi
1e4f486174 audio: Move files from internal/audio to exp/audio 2016-02-11 17:22:02 +09:00
Hajime Hoshi
84d50f7714 audio: Remove Init 2016-02-11 17:16:34 +09:00
Hajime Hoshi
8e43d1047b audio: Use io.ReadSeeker instead of ReadSeekCloser 2016-02-11 17:07:28 +09:00
Hajime Hoshi
bca9b0d3f1 audio: Remove audioEnabled 2016-02-11 04:02:18 +09:00
Hajime Hoshi
5687d9d0ef go generate 2016-02-11 03:53:36 +09:00
Hajime Hoshi
10650d1c6e audio: Introduce audio.Player 2016-02-11 02:18:39 +09:00
Hajime Hoshi
d52118639d audio: Use IO as source 2016-02-11 02:09:06 +09:00
Hajime Hoshi
c6a431c9ab audio: add sampleRate arg to Queue: implementation turned to be simplified 2016-02-10 02:40:07 +09:00
Hajime Hoshi
e8895d8f35 audio: Use bigger buffer to reduce noise (#149) 2016-02-10 01:04:43 +09:00
Hajime Hoshi
14d28ea122 audio: Use AudioBuffer's duration 2016-02-10 01:04:15 +09:00
Hajime Hoshi
719e5ba6d2 audio: Remove audio.Tick 2016-02-10 00:09:23 +09:00
Hajime Hoshi
c5de32297f audio: Bug fix: isPlaying must consider two buffers in JS 2016-02-09 23:49:33 +09:00
Hajime Hoshi
70fe6d8169 audio: Remove channel argument from audio.Queue 2016-02-09 22:55:18 +09:00
Hajime Hoshi
34691dabbf audio: Reimplement audio for JS with AudioBuffer (#146) 2016-02-09 22:35:55 +09:00
Hajime Hoshi
21e2b1ed7b audio: nit 2016-02-09 03:28:31 +09:00
Hajime Hoshi
1c10d46288 audio: Add comment about #146 2016-02-09 03:27:09 +09:00
Hajime Hoshi
8c23c8ba34 audio: Refactoring 2016-02-08 12:27:09 +09:00
Hajime Hoshi
45329ab32f audio: Bug fix: always fill zero values (#147) 2016-02-08 04:27:21 +09:00
Hajime Hoshi
4b4802419b audio: Remove audio.Tick 2016-02-08 03:26:58 +09:00
Hajime Hoshi
d1f46a92df audio: Refactoring 2016-02-08 01:52:36 +09:00
Hajime Hoshi
debbc19c82 audio: Remove start func 2016-02-08 01:40:27 +09:00
Hajime Hoshi
60c4990555 audio: Change audio.SampleRate to be a const 2016-02-08 00:48:43 +09:00
Hajime Hoshi
b63911e6f7 audio: Remove audio.Play 2016-02-08 00:45:02 +09:00
Hajime Hoshi
0b62a9af74 audio: Use golang.org/x/mobile/exp/audio/al 2016-02-07 23:37:16 +09:00
Hajime Hoshi
a83286accb audio: Move files from exp/audio/inner to internal/audio 2016-02-07 16:03:41 +09:00
Hajime Hoshi
c54b5c4b06 image: Introduce programContext (#144) 2016-02-07 05:13:54 +09:00
Hajime Hoshi
38552f8d9d image: Remove drawing lines and rects (#142) 2016-02-06 17:57:20 +09:00
Hajime Hoshi
ccf7b0c159 Revert an unreasonable change at 633ee409 2016-02-06 15:54:29 +09:00
Hajime Hoshi
9178b488a1 test: Give up using headless-js (#141) 2016-02-06 15:35:21 +09:00
Hajime Hoshi
fb9f133389 graphics: Better error messages for framebuffer creation 2016-02-06 03:48:15 +09:00
Hajime Hoshi
7f43ca2eb7 .travis.yml: Skip gopherjs test 2016-01-20 03:43:13 +09:00
Hajime Hoshi
9a3c6bd8c4 js: Update callers for headless-gl API 2016-01-20 01:18:53 +09:00
Josh Deprez
bbeb103383 Check was missing from context_js
Run calls Check whether or not gopherjs is used, and it was not implemented here.
2016-01-18 21:27:55 +11:00
Hajime Hoshi
633ee4096e #132 Temporal hack to run with Go1.5 2015-07-22 23:28:15 +09:00
Hajime Hoshi
0bc321d3ef Improve GL error messages 2015-06-22 23:14:40 +09:00
Hajime Hoshi
e3608d08eb Use GL 2.1 (for Windows) 2015-06-21 01:33:28 +09:00
Hajime Hoshi
4b9c740ee8 Update the version of GLFW to 3.1 2015-06-20 18:52:17 +09:00
Hajime Hoshi
2b8e98cfbc js: Revert 60 FPS from 30 FPS 2015-06-14 03:50:43 +09:00
Hajime Hoshi
7490bfa4f4 internal: Bug fix: license.txt was changed to LICENSE 2015-05-21 00:03:04 +09:00
Hajime Hoshi
82ea3fa020 #125: Fix import paths (Use go-gl/gl and go-gl/glfw instead of go-gl/glow and go-gl/glfw3 2015-04-13 00:49:30 +09:00
Hajime Hoshi
bca600a093 Update for the latest GopherJS (use *js.Object instead of js.Object) 2015-03-01 01:26:16 +09:00
Hajime Hoshi
246ac055bf ui: Frame skip on JS 2015-02-21 22:19:26 +09:00
Hajime Hoshi
a67a8a03ec graphics: Cache framebuffers 2015-02-20 02:02:23 +09:00
Hajime Hoshi
936942a28d Add comments 2015-02-20 02:01:56 +09:00
Hajime Hoshi
eb0431f117 opengl: Remove Flush() 2015-02-18 23:35:39 +09:00
Hajime Hoshi
2b7617da7a graphics: Cache values for uniformMatrix4fv 2015-02-18 11:30:24 +09:00
Hajime Hoshi
9ec7b13f27 example/piano: Speed up 2015-02-16 10:48:57 +09:00
Hajime Hoshi
8c2301e542 Fix misspelling 2015-02-16 02:49:17 +09:00
Hajime Hoshi
ba3feaf52f ui: More precise clock 2015-02-15 19:30:29 +09:00
Hajime Hoshi
c5fc7ea0ab ui: More precise space calc 2015-02-14 23:23:11 +09:00
Hajime Hoshi
beecf31937 Resolve some TODOs 2015-02-10 10:44:58 +09:00
Hajime Hoshi
cd4188b0a3 Add SetScreenScale (#115) 2015-02-10 00:10:50 +09:00
Hajime Hoshi
249add3979 Add SetScreenSize 2015-02-09 11:02:04 +09:00
Hajime Hoshi
2544d74ba0 Use go-gl/glow instead of go-gl/gl (#112) 2015-01-29 00:58:56 +09:00
Hajime Hoshi
ea78b31414 Move internal/audio -> exp/audio/internal 2015-01-27 22:55:45 +09:00
Hajime Hoshi
3964944deb Move ui_*.go back to internal/ui again 2015-01-27 22:37:00 +09:00
Hajime Hoshi
23b3f1afce Move some files of internal/ui to the root 2015-01-27 01:10:17 +09:00
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