Hajime Hoshi
0d173834a6
all: speed optimization
2022-12-03 23:09:41 +09:00
Hajime Hoshi
89c64f83e3
ebiten: performance improvement by reducing allocations of []float32
2022-12-03 21:53:56 +09:00
Hajime Hoshi
6a72b1e10d
internal/ui: refactoring
2022-12-03 21:25:28 +09:00
Hajime Hoshi
0a6813c17f
internal/graphics: use flatten []float32 slice instead of [][]float32
...
Closes #2479
2022-12-03 20:23:58 +09:00
Hajime Hoshi
9d74784723
internal/ui: refactoring: simplify ConvertUniforms
2022-12-03 18:26:30 +09:00
Hajime Hoshi
724516a0e0
internal/shaderir: add comments
2022-12-03 15:37:14 +09:00
Hajime Hoshi
6a0eb82207
internal/glfwwin: bug fix: crash when dropping a file
...
Updates #2478
2022-12-03 04:47:05 +09:00
Hajime Hoshi
15c2fe01c0
internal/glfwwin: bug fix: unexpected error at wglSwapIntervalEXT
...
Updates #2478
2022-12-03 04:37:23 +09:00
Hajime Hoshi
ae715ba33b
internal/shaderir: performance improvement by using a slice instead of a map
2022-12-03 01:10:29 +09:00
Hajime Hoshi
61f1d8b69f
internal/graphics: remove the common vertices backend
...
It was actually impossible to use the common vertices backend in a
thread-safe manner, and actually this caused race conditions.
This changes fixes the issue by giving up a central backend, and
letting images have their own vertices buffer.
Closes #2473
2022-12-03 01:02:23 +09:00
Hajime Hoshi
3386908902
ebiten: swap the definition MouseButtonMiddle and MouseButtonRight
...
This follows the Web standard.
Closes #2468
2022-11-27 13:51:09 +09:00
Hajime Hoshi
e98661c1d3
internal/ui: forbid fullscreen on Xbox
2022-11-25 00:59:15 +09:00
Hajime Hoshi
9e9cec249a
ebiten: make some MouseButton definitions explicit
...
This change redefines named mouse button consts like MouseButtonLeft
to use MouseButton0, so that users can know which enums are the same
and different.
Updates #2445
2022-11-23 04:41:11 +09:00
Kacper Drobny
6e12fd13e4
ebiten: add additional MouseButtons ( #2467 )
...
Closes #2445
2022-11-23 04:28:34 +09:00
Hajime Hoshi
5356b44286
internal/graphicsdriver/opengl: add comments about Firefox
...
Updates #2077
2022-11-23 00:57:16 +09:00
Hajime Hoshi
67430362cc
internal/graphicsdriver/directx: add EBITENGINE_DIRECTX_FEATURE_LEVEL
...
A fix for #2447 was a breaking-change as the DirectX driver was no longer
available for some old graphics card.
To support such old cards, provide a new environment variable
EBITENGINE_DIRECTX_FEATURE_LEVEL to specify a feature level.
The possible values are 11_0, 11_1, 12_0, 12_1, and 12_2. The default
value is 12_0.
Closes #2466
2022-11-21 02:46:07 +09:00
Hajime Hoshi
f129c23393
all: update URLs in comments
2022-11-21 01:46:50 +09:00
Hajime Hoshi
e9e5d27d2c
internal/shader: bug fix: % operators for integer vecs didn't work
...
Closes #1911
2022-11-21 01:39:20 +09:00
Hajime Hoshi
0b9cbaa1ed
internal/shader: introduce integer vectors (ivec2, ivec3, ivec4)
...
Closes #1911
2022-11-21 00:31:23 +09:00
TotallyGamerJet
f09c4a624e
internal/gamepad: use RegisterLibFunc ( #2465 )
...
RegisterLibFunction is typesafe and now supports float arguments.
Updates #1162
2022-11-21 00:24:27 +09:00
TotallyGamerJet
fb612ab443
internal/cocoa, internal/graphicsdriver/mtl: remove usages of NSInvocations to directly call ID.Send ( #2464 )
...
purego now supports using floats as arguments.
We can remove these instances of NSInvocation that
only existed to circumvent that feature.
Updates #1162
2022-11-20 23:48:22 +09:00
Hajime Hoshi
9a75e266d4
internal/graphicsdriver: fix comments
2022-11-20 23:18:40 +09:00
Hajime Hoshi
7961654927
internal/graphicsdriver/metal: bug fix: wrong alignment for vec3
2022-11-20 23:14:09 +09:00
Hajime Hoshi
5aecd6762c
internal/shader: refactoring
2022-11-20 18:25:08 +09:00
Hajime Hoshi
dc1df824a5
internal/shader: more strict type checks with built-in functions
2022-11-20 17:47:53 +09:00
Hajime Hoshi
5d8216def3
internal/shader: stricter const type check
2022-11-20 15:52:33 +09:00
Hajime Hoshi
5f4e3a0348
internal/shader: add swizzling check
2022-11-19 22:39:17 +09:00
Hajime Hoshi
bba196d1ec
ebiten: allow array types for uniform variables
...
Closes #2448
2022-11-18 14:08:31 +09:00
Hajime Hoshi
90213d5d80
internal/graphicsdriver/opengl: refactoring
2022-11-18 13:32:09 +09:00
Hajime Hoshi
95b4e67c77
internal/graphicsdriver/opengl: reduce context functions
2022-11-18 03:18:30 +09:00
Hajime Hoshi
4de6da0a50
internal/graphicsdriver/opengl: use an appropriate stencil buffer format
2022-11-17 13:31:36 +09:00
Hajime Hoshi
21670691b1
internal/graphicsdriver/opengl: remove duplicated code
2022-11-17 13:22:48 +09:00
Hajime Hoshi
d6027a9357
internal/graphicsdriver/opengl: remove duplicated code
2022-11-17 13:13:15 +09:00
Hajime Hoshi
8cc6fa82fd
internal/graphicsdriver/opengl: remove fnIsContextLost
...
As restoring from context lost doesn't happen on browsers, isContextLost
doesn't have to be called.
2022-11-17 12:43:26 +09:00
Hajime Hoshi
c768860f3f
internal/graphicsdriver/opengl: remove fnGetExtension
2022-11-17 12:40:56 +09:00
Hajime Hoshi
bae5aa7732
internal/graphicsdriver/opengl: move initGL to NewGraphics
...
As restoring from context lost doesn't happen on browsers, initilizing
GL doesn't have to be done at reset.
2022-11-17 12:34:55 +09:00
Hajime Hoshi
4082223aec
internal/graphicsdriver/opengl: remove webGLVersion
2022-11-17 12:27:32 +09:00
Hajime Hoshi
74d9515345
internal/graphicsdriver/opengl: refactoring: move gl_js to gl/context_js.go
...
This unifies the OpenGL context interface for all the platforms.
2022-11-17 12:22:46 +09:00
Hajime Hoshi
f08983e14d
internal/graphicsdriver/opengl: remove unused variables
...
It should be safe to assume 0 is an invalid texture ID in OpenGL.
https://registry.khronos.org/OpenGL-Refpages/gl4/html/glIsTexture.xhtml
> If texture is zero, or is a non-zero value that is not currently the
> name of a texture, or if an error occurs, glIsTexture returns GL_FALSE.
2022-11-17 10:53:28 +09:00
Hajime Hoshi
de3702e4c2
internal/graphicsdriver/opengl: reduce unnecessary slice allocations
2022-11-17 03:01:31 +09:00
Hajime Hoshi
9df4770d20
internal/graphicsdriver/opengl/gl: make Context closer to gomobile's Context
2022-11-17 01:23:27 +09:00
Hajime Hoshi
49fc1cfdc0
internal/graphicsdriver/opengl/gl: refactoring: replace some *iv functions with *i
2022-11-17 00:26:33 +09:00
Hajime Hoshi
098fed65d5
internal/graphicsdriver/opengl/gl: refactoring: replace GetIntegerv -> GetInteger
2022-11-16 23:59:28 +09:00
Hajime Hoshi
c7c9500ba6
internal/graphicsdriver/directx: bug fix: a software adaptor was unexpectedly chosen
...
Closes #2459
2022-11-16 15:46:17 +09:00
Hajime Hoshi
4c389c1752
internal/graphicsdriver/opengl/gl: bug fix: compile error
2022-11-15 02:41:59 +09:00
Hajime Hoshi
056042ca92
internal/graphicsdriver/opengl/gl: refactoring
2022-11-15 02:38:38 +09:00
Hajime Hoshi
0d8912e7ae
internal/graphicsdriver/opengl/gl: bug fix: failed to load OpenGL(ES).framework on iOS
...
This change also fixes the issue that *EXT functions are missing
in OpenGLES.framework.
Closes #2456
2022-11-15 02:33:45 +09:00
Hajime Hoshi
7d146fb70b
internal/ui: bug fix: IsGL / SetUIView can be called before initialization is done
...
The functions in the package `mobile/ebitenmobileview` could be invoked
from EbitenViewController even before the graphics driver initialization
is done in theory.
This change fixes this issue by waiting the initialization by
channels. Also, this change adds error handlings at these functions.
Closes #2455
2022-11-15 01:53:20 +09:00
Hajime Hoshi
f4e63602d3
internal/graphicsdriver/opengl/gl: dynamic function loading for Android
...
Closes #2450
2022-11-14 23:23:50 +09:00
Hajime Hoshi
31af27b926
internal/graphicsdriver/opengl/gl: fix error message
2022-11-14 13:19:19 +09:00