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
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