Commit Graph

4024 Commits

Author SHA1 Message Date
Hajime Hoshi
1f741fa007 internal/glfw: do not panic for an error at Monitor.GetContentScale
Updates #2488
2022-12-08 13:39:19 +09:00
Hajime Hoshi
8a95b1d85c internal/glfwwin: ignore an error ERROR_SUCCESS for all Windows APIs
This is still mysterious, but this can happen on some old machines.

Updates #2478
Closes #2489
2022-12-08 12:33:52 +09:00
Hajime Hoshi
14688348a8 internal/ui: bug fix: wrong calculation of wheel scrolling
Closes #2487
2022-12-08 02:10:01 +09:00
Hajime Hoshi
102a2d2138 internal/graphicsdriver/directx: change the default feature level to 11_0
The feature level 12_0 causes some issues on some machines. As we now
have EBITENGINE_DIRECTX_FEATURE_LEVEL, let's go back to the default
feature level 11_0.

Updates #2486
2022-12-07 21:16:47 +09:00
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