Commit Graph

462 Commits

Author SHA1 Message Date
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
deb2ab1cbf graphics: Refactoring: Reduce array buffer size 2016-05-29 18:34:52 +09:00
Hajime Hoshi
3195ae32d8 mobile: Implement Pause/Resume 2016-05-24 00:00:54 +09:00
Hajime Hoshi
6d06b01cae gomobile bind works 2016-05-22 04:25:15 +09:00
Hajime Hoshi
76ea075896 Add example/mobile (not-compilable yet) 2016-05-19 03:17:50 +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
a04ce352f8 opengl: Bug fixed: there were some errors shadowed and not used 2016-05-14 03:24:01 +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
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
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
b02df7b542 graphics: Bug fix #186 by clearing non-black-or-white color 2016-03-17 03:31:12 +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
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
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
9e161864f6 ui: Bug fix: Make sure current framebuffers rendered (#158) 2016-02-22 03:14:31 +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
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
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
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
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
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
beecf31937 Resolve some TODOs 2015-02-10 10:44:58 +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
3964944deb Move ui_*.go back to internal/ui again 2015-01-27 22:37:00 +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
1fa39e3b8a Fix a variable name 2015-01-21 10:12:05 +09:00
Hajime Hoshi
d994f34d53 Add image.ReplacePixels; Add example/noise (#89) 2015-01-20 23:58:58 +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
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
25cf2dab22 sprites: Speed up: use float64 as often as possible 2015-01-14 23:58:34 +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
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
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
d96de18074 Remove TODOs 2015-01-09 12:13:29 +09:00
Hajime Hoshi
636ae84ad5 Resolve TODOs 2015-01-09 02:02:56 +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
abed162e91 Bug fix: initial capacity of vertices 2015-01-03 16:25:17 +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
ae04bb17f6 Reduce calling glFlush 2015-01-03 01:14:36 +09:00
Hajime Hoshi
24c39bcd18 Fix shaders for WebGL 2015-01-02 23:31:32 +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