Commit Graph

545 Commits

Author SHA1 Message Date
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
5d4c4f1283 graphics: Bug fix: Don't delete the screen framebuffer (iOS) 2017-12-31 20:55: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
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
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
d455b9b8bb opengl: SetViewport no longer returns error 2017-09-25 00:17:20 +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
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
fc125eb531 graphics: Add comments 2017-09-16 15:49:29 +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
d30f8a2bbf graphics: Fix viewport sizes for Edge (#71) 2017-09-07 03:08:22 +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
Hajime Hoshi
12c24215b1 graphics: Bug fix: Flush after filling (#419) 2017-08-24 00:11:08 +09:00
Hajime Hoshi
9ab517cf82 restorable: Refactoring 2017-08-07 00:06:35 +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
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
3a3a4af035 graphics: Avoid type assertions for Fill 2017-07-02 21:32:07 +09:00
Hajime Hoshi
c694851765 ui: Center the screen on fullscreen mode (#374) 2017-07-01 04:12:09 +09:00
Hajime Hoshi
7d181e3182 opengl: Hide OpenGL context usages into internal/graphics package 2017-05-31 02:18:04 +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
5699822d64 graphics: Avoid creating struct as much as possible 2017-05-02 22:45:09 +09:00
Hajime Hoshi
6ca71c6931 graphics: Errors of NewImage* are always nil (#331) 2017-03-04 01:22:51 +09:00
Hajime Hoshi
147798e14d Simplify internal API not to return errors 2017-03-03 23:59:44 +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
91681bdc25 graphics: Bug fix: ReplacePixels must reset pixels out of range (#316) 2017-02-05 04:16:09 +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
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
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
c44ee9cde2 graphics: Refactoring 2016-12-29 01:15:57 +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
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
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
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
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
53e1f90146 graphics: Bug fix: Don't store interface color.Color value inside (#261) 2016-08-30 23:34:18 +09:00
Hajime Hoshi
3dad97af8a Add comments 2016-08-23 00:05:23 +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
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
c7106f595c Add error checks 2016-08-02 02:26:44 +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
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
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
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
86144a1cd6 opengl: Move members to variables 2016-07-03 18:23:19 +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
ff30f01c1b graphics: Remove Finalize 2016-06-30 00:21:47 +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
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
6f50ef3604 ui: Get correct device scale for iOS 2016-06-19 05:10:27 +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
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
912d498cdf graphics: Remove unused arguments 2016-06-11 05:48:09 +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
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