Hajime Hoshi
c935c28498
opengl: Move Framebuffer from graphicscommand to opengl and rename it to FramebufferStruct
2018-11-04 17:39:01 +09:00
Hajime Hoshi
97a9e99112
opengl: Rename: BindScreenFramebuffer -> BeforeSwapping
2018-11-03 04:08:00 +09:00
Hajime Hoshi
841353670f
opengl: Unexport BindTexture
2018-11-02 03:45:37 +09:00
Hajime Hoshi
6dceeb343c
opengl: Refactoring: Remove ResetViewportSize
2018-11-02 03:24:35 +09:00
Hajime Hoshi
09fe1886d7
graphicscommand: Add comments
...
Add explanation why ResetViewportSize is needed.
2018-11-02 03:06:26 +09:00
Hajime Hoshi
3a8ddd6279
graphicscontext: Rename createFramebufferIfNeeded -> ensureFramebuffer
2018-11-01 03:42:30 +09:00
Hajime Hoshi
61c2331ac4
graphicscommand: Refactoring
2018-11-01 03:34:58 +09:00
Hajime Hoshi
e28c7b0f50
graphicscommand: Remove Texture
2018-11-01 03:29:23 +09:00
Hajime Hoshi
bc3ca38f76
opengl: Rename ResetGLState -> Reset and other functions
2018-11-01 03:02:08 +09:00
Hajime Hoshi
b8aa35373a
graphicscommand: Remove unneeded type conversion
2018-10-31 10:54:45 +09:00
seebs
74e204d952
graphics: Speed up DrawTriangles ( #723 )
...
DrawTriangles is expensive and slow because of massive memory
allocation and garbage collection costs. This patch moves from ~47TPS
on my laptop (with ~24k triangles) to 60TPS. The first part
is just allocating the right size of vertex buffer up front; that
got to about 55TPS. The second part replaces the frequent
allocations of []float32 in Vertex() calls with writing the
desired values into a provided destination slice.
Time spent in drawing triangles for 1,000 frames:
13.07s baseline
11.09s preallocate whole buffer to avoid resizing
6.13s use new PutVertex function
This might need some cleanup, but I think it's good evidence that
the design change is viable.
2018-10-31 10:53:17 +09:00
Hajime Hoshi
45017213a7
opengl: Unexport (Element)ArrayBufferSubData
2018-10-31 00:59:44 +09:00
Hajime Hoshi
5be08cac19
opengl: Unexport BindBuffer
2018-10-30 23:59:20 +09:00
Hajime Hoshi
23a832c0a7
opengl: Unexport consts
2018-10-30 22:41:05 +09:00
Hajime Hoshi
99594fe732
opengl: Remove type mode
2018-10-30 22:36:12 +09:00
Hajime Hoshi
b2b09ccec0
restorable: Avoid memory allocating when an entire image is cleared
2018-10-30 11:08:38 +09:00
Hajime Hoshi
bb0b8ca83b
opengl: Unexport (*Context).Reset()
2018-10-30 02:18:10 +09:00
Hajime Hoshi
ac7bf354a9
opengl: Unexport types
2018-10-30 02:13:51 +09:00
Hajime Hoshi
e4179aee37
opengl: Unexport functions
2018-10-30 01:50:30 +09:00
Hajime Hoshi
6b95a5140c
opengl: Move program.go and shader.go to opengl
2018-10-30 01:27:31 +09:00
Hajime Hoshi
6b02f0ae9e
graphicscommand: Move OrthoProjectionMatrix to opengl package
2018-10-29 01:08:51 +09:00
Hajime Hoshi
ce1c616f69
Merge graphics and graphicsutil
2018-10-28 23:03:06 +09:00
Hajime Hoshi
395b46d8da
graphicsutil: Remove dependency on graphicscommand
2018-10-28 23:00:10 +09:00
Hajime Hoshi
7767bcfdd8
graphicsutil: Better allocation of vertices
2018-10-28 22:54:36 +09:00
Hajime Hoshi
fde9fd2d0e
graphicsutil: Remove dependency on opengl
2018-10-28 22:01:59 +09:00
Hajime Hoshi
ff54d3b681
Move CompositeMode to graphics package
2018-10-28 21:49:47 +09:00
Hajime Hoshi
06f2052817
Add graphics package and move Filter to graphics
2018-10-28 20:25:52 +09:00
Hajime Hoshi
2da5192510
Rename graphics -> graphicscommand
2018-10-28 20:10:05 +09:00
Hajime Hoshi
7e29a81177
ui: Refactoring
2018-10-14 18:28:27 +09:00
Hajime Hoshi
0c4ef7ee8e
ui: Bug fix: fix the initial window position on multiple monitors
2018-10-14 16:59:14 +09:00
Hajime Hoshi
b56061281d
ui: Add comments
2018-10-13 22:41:21 +09:00
Hajime Hoshi
a073f48faf
input: Bug fix: keypress event were not fired
...
This change suspends to 'preventDefault' on keydown events.
Now preventing navigation by pressing backspace is deprecated in
Chrome. For other keys, it looks like keyup's preventDefault is
enough to disable the browser default behavior.
2018-10-13 19:18:13 +09:00
Hajime Hoshi
faf32b9d37
devicescale: Plan 9 support
2018-10-13 04:08:40 +09:00
Hajime Hoshi
34596bb1cf
ui: Bug fix: IsVsyncEnabled can cause deadlock
2018-10-10 23:17:45 +09:00
Hajime Hoshi
b4a4b87b56
ui: Bug fix: ScreenSizeInFullscreen returned wrong scaled values
...
Fixes #708
2018-10-10 03:10:18 +09:00
Hajime Hoshi
e971f6d41c
ui: Avoid glfw.GetCurrentContext for threading issues
2018-10-10 01:45:39 +09:00
Hajime Hoshi
b5344bc994
ui: glfwScale must be called on the main thread
2018-10-10 01:07:47 +09:00
Hajime Hoshi
c758a1f8c6
ui: Rename MonitorSize -> ScreenSizeInFullscreen ( #708 )
2018-10-09 23:42:03 +09:00
Hajime Hoshi
dbe71e81bd
ui: Bug fix: currentMonitorPos returned wrong values on macOS
...
[NSScreen mainScreen] sometimes returned a wrong screen for the
window. Use [[NSApp mainWindow] screen] when possible.
Fixes #703
2018-10-08 05:40:07 +09:00
Hajime Hoshi
c4a066ecd0
ui: Fix wrong comments about Windows
2018-10-08 04:06:44 +09:00
Hajime Hoshi
8d2820efb0
ui: Bug fix: the window is shown on the current monitor on Windows
...
Fixes #704
2018-10-08 03:24:14 +09:00
Hajime Hoshi
96a657025f
ui: Bug fix: DeviceScaleFactor and MonitorSize were not correct on Windows
2018-10-08 03:18:24 +09:00
Hajime Hoshi
9264e38324
ui: Add comments
2018-10-08 01:45:07 +09:00
Hajime Hoshi
f6c2d899f1
ui: Bug fix: compile error on browsers and mobiles
2018-10-08 01:26:05 +09:00
Hajime Hoshi
4a5548a4a0
ui: MonitorSize should return the 'current' monitor size instead of the primary monitor size
2018-10-08 01:15:57 +09:00
Hajime Hoshi
f3b7148564
ui: Bug fix: DeviceScaleFactor should return the current monitor's scale
2018-10-08 01:11:13 +09:00
Hajime Hoshi
16a9bac487
ui: Remove deviceScale struct
2018-10-08 01:03:18 +09:00
Hajime Hoshi
effd530026
ui: Show the window on the current monitor ( #704 )
...
Tested on macOS. This doesn't work on Windows yet since there are
some codes that depends on the primary monitor.
2018-10-08 00:46:01 +09:00
Hajime Hoshi
fb7a3f2736
ui: Bug fix: Call SetPos multiple times to render correctly ( #703 )
2018-10-08 00:25:21 +09:00
Hajime Hoshi
e0d2d5e753
ui: Bug fix: wrong scaling when a window move across monitors
...
Fixes #701
2018-10-07 23:05:20 +09:00
Hajime Hoshi
0e7dab3707
ui: Fix comment
2018-10-06 20:04:48 +09:00
Hajime Hoshi
f9edfd7d57
ui: Remove unused variables
2018-10-06 19:55:10 +09:00
Hajime Hoshi
cc336a4c38
ui: Use more stable way to determine the current monitor
2018-10-06 19:53:43 +09:00
Hajime Hoshi
55a397bd65
devicescale: Specify the monitor to get the scale
...
Fixes #695
2018-10-06 19:43:23 +09:00
Hajime Hoshi
b99cc6ca8e
ui: Bug fix: compile error on mobiles
2018-10-06 18:26:22 +09:00
Hajime Hoshi
8771d27d64
devicescale: Rename variables
2018-10-06 17:29:40 +09:00
Hajime Hoshi
d08ae0dd66
graphicsutil: Fix comments
2018-10-06 15:01:12 +09:00
Hajime Hoshi
ca2fe22e4a
ui: Bug fix: Set the proper window position when coming back from fullscreen
2018-10-06 03:53:34 +09:00
Hajime Hoshi
7ea1ab6b58
ui: Bug fix: currentMonitor should not return nil
...
Fixes #700
2018-10-06 03:22:33 +09:00
Hajime Hoshi
cae9e39453
ui: Use the best suitable monitor for fullscreen
...
This change also changes the definition of MonitorSize.
2018-10-06 02:59:38 +09:00
Hajime Hoshi
16f6aeaa4a
ui: Refactoring: Use the current monitor
2018-10-06 02:38:02 +09:00
Hajime Hoshi
bd1fc4439a
graphicsutil: Avoid passing NaN to shaders experimentally ( #696 )
2018-10-04 02:02:19 +09:00
Hajime Hoshi
1807a3f530
devicescale: Rename function
2018-10-04 01:28:53 +09:00
Hajime Hoshi
10b49bb0a3
ui: Don't call devicescale.DeviceScale too often
2018-10-03 04:29:12 +09:00
Hajime Hoshi
11d23bafa9
devicescale: Bug fix: the active window can't be passed to ReleaseDC
2018-10-03 04:16:28 +09:00
Hajime Hoshi
02a2fc2d44
ui: Bug fix: Force to adjust window size when scale is changed
...
Fixes #644
2018-10-03 03:26:11 +09:00
Hajime Hoshi
eef9c01735
gofmt -s -w
2018-10-03 03:25:44 +09:00
Hajime Hoshi
cf41e0aa0a
devicescale: Rename logPixelSx -> logPixelsX
2018-10-03 03:13:36 +09:00
Hajime Hoshi
399317a2cf
devicescale: Get the current monitor's scale on Windows ( #644 )
2018-10-03 03:09:42 +09:00
Hajime Hoshi
c494b53822
ui: Refactoring: Add deviceScale struct
2018-10-02 23:06:56 +09:00
Hajime Hoshi
635d624b77
ui: Update device scale on browsers ( #644 )
2018-10-02 11:43:45 +09:00
Hajime Hoshi
21c1ee5dfb
ui: Cache devicescale value on mobiles
2018-10-02 03:51:13 +09:00
Hajime Hoshi
9906c935f6
ui: Remove unnecessary lock protection
2018-10-02 03:25:30 +09:00
Hajime Hoshi
fce82e1502
ui: Use frame counter to update device scale
2018-10-02 03:21:59 +09:00
Hajime Hoshi
78f2946797
ui: Bug fix: timer condition was wrong
2018-10-02 02:53:17 +09:00
Hajime Hoshi
bf850e12a4
ui: Recalc device scale repeatedly for multiple displays ( #644 )
2018-10-02 02:49:08 +09:00
Hajime Hoshi
308c8091cd
ui: Fix comments
2018-09-30 18:53:38 +09:00
Hajime Hoshi
8df596396c
input: Bug fix: wheel direction is opposite on browsers
2018-09-30 17:14:52 +09:00
Hajime Hoshi
0224858b7b
examples/wheel: Improve message
2018-09-30 17:13:22 +09:00
Hajime Hoshi
803e42714e
input: Implement wheel event on browsers
...
Fixes #630
2018-09-30 17:08:18 +09:00
Hajime Hoshi
237f6a2014
input: Rename MouseWheel -> Wheel
2018-09-30 17:01:45 +09:00
Hajime Hoshi
b6f0ea0100
input: Remove unused variables
2018-09-30 15:40:16 +09:00
Hajime Hoshi
25a5f1dd83
ui: Sleep when vsync doesn't work ( #692 )
2018-09-30 14:44:54 +09:00
Hajime Hoshi
15260537a2
graphics: Bug fix: fullscreen rendering was wrong
...
After fad65f2f5d
, the viewport size
is always same as the framebuffer size. The 'screen' image size
was the actual rendering region size, and padding was not
considered in the size. The padding is added on the fullscreen
mode.
This fix adds the extra padding values to the 'screen' image size
so that the 'screen' framebuffer will be same size as the monitor
size.
Fixes #693
2018-09-29 21:47:41 +09:00
Hajime Hoshi
fad65f2f5d
graphics: Use the viewport size same as the framebuffer size
...
Fixes #691
2018-09-29 19:53:22 +09:00
Hajime Hoshi
c4abed0a22
opengl: Add coments about #629
2018-09-29 02:20:23 +09:00
Hajime Hoshi
ce8d9df647
graphics: Update glTexImage2D signature
2018-09-10 12:44:42 +09:00
Hajime Hoshi
3d24ffe3e0
clock: Bug fix: function registerd OnStart might not be called
...
Fixes #645
2018-09-03 00:35:55 +09:00
Hajime Hoshi
42757b735b
internal/png: Update
2018-09-02 23:09:08 +09:00
Hajime Hoshi
8827520d4a
graphics: Bug fix: avoid jaggy rendering on macOS by adjusting texels ( #669 )
2018-08-30 00:17:03 +09:00
Hajime Hoshi
2360b2930f
graphics: Add DrawTriangles
...
Fixes #624
2018-08-14 01:23:14 +09:00
Hajime Hoshi
690c3cf981
graphics: Embed 'scale' part of the color matrix
...
If the color matrix includes only 'scale' part, they are embedded
into vertices in order to reduce draw calls.
Fixes #662
2018-08-10 23:20:55 +09:00
Hajime Hoshi
e46f9c6305
graphics: Bug fix: compile error
2018-08-10 03:10:57 +09:00
Hajime Hoshi
a03b335c24
graphics: Add logging when 'ebitendebug' tag is specified
...
Fixes #563
2018-08-10 02:39:07 +09:00
Hajime Hoshi
1aabdd58f1
restorable: Fix comments
2018-08-09 01:27:38 +09:00
Hajime Hoshi
3daaef2cab
restorable: Refactoring: Use ReplacePixels(nil, ...) for clearing an image
2018-08-09 01:16:46 +09:00
Hajime Hoshi
a988082be1
shareable: Bug fix: disable tests
2018-08-09 00:19:55 +09:00
Hajime Hoshi
c68c36b0b7
restoreable: Add ClearState to clear the state explicitly
...
Fixes #566
2018-08-09 00:12:45 +09:00
Hajime Hoshi
cdc408d2c2
shareable: Suspend re-using shared images
...
Fixes #661
2018-08-08 18:40:52 +09:00
Hajime Hoshi
ed99719fdb
devicescale: Use app.RunOnJVM and remove internal/jni
2018-08-06 23:50:37 +09:00
Hajime Hoshi
77e905eb25
Revert "graphics: Embed color matrices values to vertices ( #655 )"
...
This reverts commit 5a9235aaf9
.
2018-08-06 01:44:31 +09:00
Hajime Hoshi
9af8e621bd
Revert "affine: Refactoring: Unify two element slices into one"
...
This reverts commit da662b384c
.
2018-08-06 01:44:31 +09:00
Hajime Hoshi
af77a17aaa
devicescale: Use mainScreen instead of screens[0] to get the 'current' screen state
2018-08-05 19:18:40 +09:00
Hajime Hoshi
063edfcc4a
opengl: Use the safer way to pass Go string to C
2018-08-04 05:22:59 +09:00
Hajime Hoshi
18d77d3f6e
shareable: Rename variables
2018-08-03 02:50:11 +09:00
Hajime Hoshi
0956ca0ea6
graphicsutil: Add MipmapLevel
2018-07-31 01:47:03 +09:00
Hajime Hoshi
d7d02e6d6a
Reland: graphics: mipmap images should be volatile when the base image is volatile
...
This is not a bug fix, but should improve performance.
2018-07-30 00:26:36 +09:00
Hajime Hoshi
5be58086b5
Revert "graphics: Bug fix: mipmap images should be volatile when the base image is volatile"
...
This reverts commit 0f82330009
.
2018-07-29 23:58:46 +09:00
Hajime Hoshi
0f82330009
graphics: Bug fix: mipmap images should be volatile when the base image is volatile
2018-07-29 23:54:46 +09:00
Hajime Hoshi
0bf62f392f
shareable: Bug fix: forceShared should allocate backend as shareable
2018-07-29 23:49:53 +09:00
Hajime Hoshi
81094da3a1
shareable: Bug fix: test failures
2018-07-29 23:28:13 +09:00
Hajime Hoshi
056ed1c6db
shareable: Return color.RGBA instead of color.Color
2018-07-29 21:59:18 +09:00
Hajime Hoshi
b9265d5120
Enable to go-generate under non-GOPATH directories
2018-07-28 19:21:19 +09:00
Hajime Hoshi
88e488a5a6
docs: Update
2018-07-28 19:00:05 +09:00
Hajime Hoshi
da662b384c
affine: Refactoring: Unify two element slices into one
2018-07-27 01:51:49 +09:00
Hajime Hoshi
2b4785f863
affine: Remove unused function
2018-07-27 01:23:14 +09:00
Hajime Hoshi
5a9235aaf9
graphics: Embed color matrices values to vertices ( #655 )
...
Fixes #531
2018-07-26 11:37:27 +09:00
Hajime Hoshi
2559979c2b
shareable: Add tests
2018-07-25 01:08:04 +09:00
Hajime Hoshi
5beaf843a6
shareable: Bug fix: volatile or screen must not use shareable texture
2018-07-24 22:25:15 +09:00
Hajime Hoshi
b2a4ddf853
shareable: Refactoring: Add moveTo
2018-07-22 06:29:31 +09:00
Hajime Hoshi
693116ffd6
shareable: Bug fix: Double free
2018-07-22 05:52:11 +09:00
Hajime Hoshi
6687ffe8ba
shareable: Bug fix: SetFinalizer must not be reset at dispose(false)
2018-07-22 05:40:04 +09:00
Hajime Hoshi
c15348f939
packing: Improve panic messages
2018-07-22 05:29:02 +09:00
Hajime Hoshi
09dcba40ab
shareable: Rename variables
2018-07-22 04:32:36 +09:00
Hajime Hoshi
a6edb90898
shareable: Use the shared backend again in some conditions
...
Fixes #633
2018-07-22 04:03:35 +09:00
Hajime Hoshi
e3ab158d7d
affine: Allow absence of the translate part
2018-07-21 17:21:55 +09:00
Hajime Hoshi
9047e54ae6
shareable: Remove comments
2018-07-21 03:43:12 +09:00
Hajime Hoshi
5249afc06b
graphicsutil: Add QuadIndices
2018-07-21 03:40:37 +09:00
Hajime Hoshi
2e7745044d
shareable: Fix Image.DrawImage to accept vertices and indices
2018-07-21 03:30:27 +09:00
Hajime Hoshi
0593b77eb8
ui: Implement CurrentTPS
2018-07-18 02:11:00 +09:00
Hajime Hoshi
eb68cdad6e
ui: Bug fix: Freezing on calling SetVsyncEnabled
2018-07-17 02:37:22 +09:00
Hajime Hoshi
3a8ca5ad73
ui: Implement TPS/SetTPS
...
Fixes #605
Fixes #321
2018-07-17 01:58:00 +09:00
Hajime Hoshi
93f8c76310
internal/clock: Remove unused variables
2018-07-17 00:35:51 +09:00
Hajime Hoshi
408cc1e833
internal/clock: Refactoring
...
Update now returns 0 when tps is 0, and 1 when tps is negative.
2018-07-17 00:29:10 +09:00
Hajime Hoshi
88e6768a30
Use the term 'TPS' ticks per second
2018-07-16 04:36:47 +09:00
Hajime Hoshi
bbb777eecc
internal/clock: Use constant time to detect if the game is delayed too much
2018-07-16 03:02:55 +09:00
Hajime Hoshi
18ec1d8265
internal/clock: Update takes FPS
2018-07-16 01:03:23 +09:00
Hajime Hoshi
09c93ac86d
ui: Avoid using eval
2018-07-14 23:47:31 +09:00
Hajime Hoshi
e25c237a01
Add IsVsyncEnabled / SetVsyncEnabled
...
This enables the game to work more efficiently (but consume much
more CPU).
Fixes #405 .
2018-07-14 21:43:55 +09:00
Hajime Hoshi
6c8b7f8e9c
graphics: Refactoring: Reduce error propagations
2018-07-12 03:08:50 +09:00
Hajime Hoshi
a9a21132ae
graphics: Refactoring: Add pixelCommand
2018-07-12 02:40:06 +09:00
Hajime Hoshi
8f12dfc496
Use js.TypedArray
...
This is still WIP. There is a rendering issue on Wasm.
2018-07-06 02:48:51 +09:00
Hajime Hoshi
e4f157d9cd
opengl: Remove unused code
2018-06-30 12:34:40 +09:00
Hajime Hoshi
2c0f3d4302
opengl: Bug fix: wrong argument to js.Value.Call
2018-06-30 12:32:15 +09:00
Hajime Hoshi
6e51d31524
Use new GopherWasm API ( #634 )
...
I plan to merge this right after
https://github.com/gopherjs/gopherwasm/pull/3 is merged.
2018-06-30 00:02:15 +09:00
Hajime Hoshi
abdf52bc74
shareable: Bug fix: Call SetFinalizer whenever a new image is created
...
Fixes #637
2018-06-28 22:23:07 +09:00
Hajime Hoshi
f765966742
web: Remove unused variables
2018-06-28 00:17:05 +09:00
Hajime Hoshi
f19e349d38
web: Remove IsNodeJS
...
gjbt now creates a pseudo-Node environment by creating
window.process object, and this conflicted with an assumption that
Ebiten doesn't nothing on Node environment. See
https://github.com/myitcv/gjbt/pull/13 for the detail.
This change allows Ebiten work on pseudo-Node environment. Even
after this change, Ebiten doesn't work on real Node environment
due to lack of DOM.
2018-06-28 00:12:24 +09:00
Hajime Hoshi
dec921809b
shareable: Refactoring
2018-06-26 01:59:12 +09:00
Hajime Hoshi
a9359e4ef8
Use GopherJS/GopherWasm
2018-06-24 16:10:24 +09:00
Hajime Hoshi
8c9a11ddf4
opengl: Rely on gopherwasm for typed-array creation
2018-06-24 02:02:39 +09:00
Hajime Hoshi
ff86f8bd93
opengl: Refactoring
2018-06-23 04:43:56 +09:00
Hajime Hoshi
33e4f82d7c
graphicsutil: Optimization to avoid boundary checks
2018-06-23 03:18:54 +09:00
Hajime Hoshi
6c1c60d40d
opengl: Make Program struct to avoid Get()
2018-06-22 01:45:25 +09:00
Hajime Hoshi
55d832fc63
shareable: Don't extend textures on macOS
...
Fixes #593
2018-06-20 11:57:39 +09:00
Hajime Hoshi
d83799acf8
opengl: Bug fix: mobile build failure
2018-06-20 11:16:21 +09:00
Hajime Hoshi
8d644479cc
opengl: Initialize consts first to avoid 'Get' calls
2018-06-19 04:02:56 +09:00
Hajime Hoshi
62bd35e412
Avoid 'Get' call if possible
...
(*js.Value).Get has some overhead especially on Wasm.
2018-06-19 03:43:24 +09:00
Hajime Hoshi
702a429afb
opengl: Faster conversion from []float32 to Float32Array
2018-06-19 03:31:53 +09:00
Hajime Hoshi
840c4d24df
graphicsutil: Accept matrix parameters directly for performance
2018-06-19 00:19:32 +09:00
Philipp Steinhaus
39b3170185
input: Enable mouse wheel input ( #628 )
2018-06-18 00:38:30 +09:00
Hajime Hoshi
a3c754d2cc
graphics: Restrict QuadVertices to allow only power of 2 sizes
...
Now QuadVertices can skip calculating power of 2 values.
2018-06-17 23:05:19 +09:00
Hajime Hoshi
12287a8382
graphicsutil: Reduce multiplying
2018-06-17 20:11:31 +09:00
Hajime Hoshi
ac24a8382f
graphicsutil: Extract matrix applying for performance
2018-06-17 19:45:09 +09:00
Hajime Hoshi
1849b59741
graphicsutil: Refactoring
2018-06-17 17:29:36 +09:00
Hajime Hoshi
5d37c331bb
graphicsutil: Remove unused arguments
2018-06-17 16:38:21 +09:00
Hajime Hoshi
95561bbf6b
affine: Use float32 values for GeoM
...
float32 was slow on GopherJS, but not slow on Wasm.
2018-06-17 15:38:10 +09:00
Hajime Hoshi
4c2fc30311
graphicsutil: Don't allow nil GeoM
2018-06-17 01:48:56 +09:00
Hajime Hoshi
f6b7a6be73
graphics: Use copy function in appendVertices
2018-06-17 01:09:05 +09:00
Hajime Hoshi
b4ace53596
affine: Remove GeoM to avoid GeoM allocations on the heap
2018-06-17 00:59:50 +09:00
Hajime Hoshi
460c47a9eb
opengl: Pass slices to js.Value
2018-06-16 02:19:18 +09:00
Hajime Hoshi
3fbe8d8ecb
opengl: Change Shader/Program/Buffer to js.Value
2018-06-16 00:30:16 +09:00
Hajime Hoshi
2497b64cf7
opengl: Change uniformLocation to js.Value
2018-06-16 00:30:16 +09:00
Hajime Hoshi
17ccf06755
opengl: Change Texture/Framebuffer to js.Value
2018-06-16 00:30:16 +09:00
Hajime Hoshi
48e2c2aba9
opengl: Use gopherwasm
2018-06-16 00:30:16 +09:00
Hajime Hoshi
b87a851c0e
ui: New GopherWASM API
2018-06-16 00:26:28 +09:00
Hajime Hoshi
a90b7efdf4
shareable: Refactoring
2018-06-11 01:02:25 +09:00
Hajime Hoshi
3ee76ffd8e
graphicsutil: Move vertices.go to graphicsutil
2018-06-10 23:08:22 +09:00
Hajime Hoshi
9745ccee47
restorable: Make (*Image).DrawImage accept vertices and indices
2018-06-10 22:59:00 +09:00
Hajime Hoshi
97a54548df
restorable: Rename vertices -> quadVertices
2018-06-10 20:41:17 +09:00
Hajime Hoshi
600983e028
restorable: Record indices for restoring
2018-06-10 20:17:48 +09:00
Hajime Hoshi
2e5e7e6e24
restorable: Remove merging commands for code simplicity
2018-06-10 20:06:17 +09:00
Hajime Hoshi
03079ba067
restorable: Refactoring
2018-06-10 18:40:46 +09:00
Hajime Hoshi
c782380a1c
restorable: Specify indices from restorable package
2018-06-10 18:17:58 +09:00
Hajime Hoshi
2853895e6b
graphics: Refactoring: Rename functions
2018-06-10 17:53:57 +09:00
Hajime Hoshi
32ac3840a7
graphics: Add comments
2018-06-10 17:10:11 +09:00
Hajime Hoshi
4e21bfd005
graphics: Rename elements -> indices
2018-06-10 17:06:40 +09:00
Hajime Hoshi
8a268e871f
graphics: Specify indices before commands
2018-06-10 17:04:58 +09:00
Hajime Hoshi
be665a3526
ui: Better way to avoid blocking
...
Fixes #625
2018-06-09 13:36:35 +09:00
Hajime Hoshi
6e12f287b0
ui: Use goroutine to avoid blocking on GopherJS
2018-06-09 03:05:37 +09:00
Hajime Hoshi
e6d0943366
graphics: Rename color_matrix -> color_matrix_body
2018-06-06 02:46:54 +09:00
Hajime Hoshi
b86860abcc
graphics: Call BindBuffer only when the program was null
2018-06-04 00:13:23 +09:00
Hajime Hoshi
fac639f9b7
graphics: Refactoring: Remove drawImageCommand.quadsNum
2018-06-03 23:58:08 +09:00
Hajime Hoshi
c9dd04d471
graphics: Refactoring: Remove command groups
2018-06-03 23:13:01 +09:00
Hajime Hoshi
9d87622a19
graphics: Set elements for every EnqueueDrawImageCommand
2018-06-03 20:42:45 +09:00
Hajime Hoshi
525ad04568
graphics: Split the notion of vertices and elements
2018-06-03 16:07:26 +09:00
Hajime Hoshi
25f2dfc677
graphics: Refactoring
2018-06-03 01:43:10 +09:00
Hajime Hoshi
03e3f0f5f7
graphics: Call glBufferSubData for element array buffer every frame
...
This is a preparation for more flexible drawing commands.
2018-05-31 00:53:05 +09:00
Hajime Hoshi
5e93d75ae0
graphics: Fix comments
2018-05-28 02:38:26 +09:00
Hajime Hoshi
399f965729
opengl: Add BindBuffer accepting both element-array-buffer and array-buffer
...
This change is a pure refactoring to clarify that array buffer is
binded before its usage.
2018-05-28 00:34:00 +09:00