Hajime Hoshi
80e3e01e88
vector: rename functions from DrawFilled* to Fill*
...
Updates #3150
2025-07-06 23:57:59 +09:00
Hajime Hoshi
97ebef8298
vector: add (*Path).AddPathStroke reimplement DrawFilledPath and StrokePath
...
The new implementation uses Evan's method [1] using texture representing
a stencil buffer instead of the graphics library's stencil buffer.
This simplifies the implementaiton of the graphics drivers, and enables
better anti-alias without changing the rendering cost.
Also, this fixes an issue of line rendering quality
This change deprecates some existing APIs like DrawImageOptions.AntiAlias
and FillRule. Users should always use DrawFilledPath or StrokePath.
[1] https://medium.com/@evanwallace/easy-scalable-text-rendering-on-the-gpu-c3f4d782c5ac
Closes #3124
Closes #3153
2025-07-06 23:35:48 +09:00
Hajime Hoshi
b461cf2a3c
vector: rename function
2025-07-06 22:36:57 +09:00
Hajime Hoshi
8eed9d225f
vector: typo
2025-07-06 22:33:29 +09:00
Hajime Hoshi
8048c8226c
vector: reimplement utility functions
...
This is a preparation to use the new vector implementation instead
of using the current implementation with stencil buffers. Especially
when antialias is off, the utility functions use a manual triangulated
vertices and doesn't use stencil buffers at all.
Updates #3153
2025-07-06 22:29:49 +09:00
Hajime Hoshi
bfb74adca0
vector: typo
2025-07-06 20:05:49 +09:00
Hajime Hoshi
313b30a498
examples/shapes: add debugui
2025-07-06 17:56:41 +09:00
Hajime Hoshi
be1d4fc1b3
ebiten: bug fix: SubImage can cause race conditions
...
Calling SubImage from an image and its sub-image could cause race
conditions.
This is a partial revert of 9fd726b773 .
Updates #3267
2025-07-06 03:06:12 +09:00
Hajime Hoshi
638de96ce5
.github/workflows: separate tests for Wasm
2025-07-05 23:41:02 +09:00
Hajime Hoshi
d599514476
ebiten: add comments
2025-07-05 23:24:46 +09:00
Hajime Hoshi
9fd726b773
ebiten: refactoring: remove Image.subImageCacheM
...
Record atime at each sub-image instead.
Updates #3267
2025-07-05 23:21:17 +09:00
Hajime Hoshi
0b3c999e86
ebiten: update comments
2025-07-05 23:00:31 +09:00
Hajime Hoshi
96f61f4ebf
ebiten: bug fix: go-vet error at assignment
2025-07-05 21:59:46 +09:00
Hajime Hoshi
d22ce78790
ebiten: bug fix: race condition on Image.subImageCache
...
The race condition could happen even if you follow the rule that
one image is touched from one goroutine. This change fixed the issue
by a mutex.
Closes #3267
2025-07-05 21:46:29 +09:00
Hajime Hoshi
0a23fdf1b0
vector: refactoring: add stroke.go
2025-07-05 15:54:06 +09:00
Hajime Hoshi
f3990b859f
vector: optimize rendering
...
* Skip rendering when a point is a NaN or Inf
* Replace a curve with a line when possible
2025-07-05 15:34:06 +09:00
Hajime Hoshi
ef4133ff6d
vector: refactoring: introduce vec2
2025-07-05 15:00:02 +09:00
Hajime Hoshi
62e255c19f
all: update DebugUI
2025-07-04 03:01:28 +09:00
Hajime Hoshi
8f57d19dec
vector: performance optimization: reuse slices in sub paths
2025-07-01 02:56:50 +09:00
Hajime Hoshi
f96d89f808
vector: add (*Path).AddPath and AddPathOptions
...
Closes #3266
2025-06-29 16:57:31 +09:00
Hajime Hoshi
ff26882df5
internal/graphicsdriver/directx: avoid allocation in adjustUniforms
...
Closes #3265
2025-06-28 01:04:15 +09:00
Hajime Hoshi
8a946ca221
all: update dependencies
2025-06-27 21:54:47 +09:00
Hajime Hoshi
c51db73189
all: update Oto
2025-06-27 21:48:46 +09:00
Hajime Hoshi
2bad42b02d
vector: refactoring: introduce subPath and remove opTypeMove and opTypeClose
2025-06-26 20:33:44 +09:00
Hajime Hoshi
4133967934
vector: better resetting flat paths
2025-06-26 17:33:52 +09:00
Hajime Hoshi
714f86a427
vector: bug fix: MoveTo should not close the path
2025-06-26 16:45:28 +09:00
Hajime Hoshi
c92412bf5d
vector: change MoveTo to update the starting position
...
Successive MoveTo calls now overwrites the previous MoveTo command
if exists.
2025-06-26 16:07:07 +09:00
Hajime Hoshi
b8ac670d61
vector: update comments and variable names
2025-06-26 14:31:10 +09:00
Hajime Hoshi
4dafa5a88d
vector: refactoring: rename functions
2025-06-26 00:34:54 +09:00
Hajime Hoshi
1cbf0c63dc
vector: change the precision of spliting Bézier curves
...
The old precision was overkill.
2025-06-25 11:27:30 +09:00
Hajime Hoshi
fd1c99e2e5
all: update DebugUI to v0.2.0-alpha.4
2025-06-25 02:13:09 +09:00
Hajime Hoshi
2ba70652eb
vector: refactoring
2025-06-25 00:41:47 +09:00
Hajime Hoshi
3ff920e422
vector: approximate cubic Bézier curve to multiple quad Bézier curves
...
This is a preparation for the future plan to render vector with Loop-Blinn
algorithm.
Updates #3153
2025-06-25 00:38:09 +09:00
Hajime Hoshi
a96153805e
internal/shader: add a builtin function frontfacing
...
Closes #3264
2025-06-23 00:07:00 +09:00
Hajime Hoshi
5f18a80a0f
all: update debugui
2025-06-22 14:19:19 +09:00
Hajime Hoshi
4a42d22820
all: update debugui
2025-06-22 13:42:33 +09:00
Hajime Hoshi
c5ad5f1902
internal/ui: add a commment about monitors
...
Updates #3094
2025-06-21 21:06:18 +09:00
Hajime Hoshi
a4717f7f95
internal/shader: enable boolean values for uniform variables
...
Closes #3156
2025-06-21 18:43:34 +09:00
Hajime Hoshi
264de7cf4b
internal/shader: implement variadic min/max functions
...
Closes #2677
2025-06-21 00:20:38 +09:00
Hajime Hoshi
d46b823c2f
internal/glfw: bug fix: ClipCursor doesn't work on Xbox
2025-06-19 15:03:32 +09:00
Hajime Hoshi
5554bc2ef5
internal/graphicsdriver/directx: refactoring
2025-06-19 01:05:39 +09:00
Hajime Hoshi
f221a4a8fb
internal/graphicsdriver/directx: refactoring: remove fence value initialization
...
After this change, a fence value is incremented just before its usage.
v2.9.0-alpha.7
2025-06-18 15:14:21 +09:00
Hajime Hoshi
ed399cebfa
internal/graphicsdriver/directx: replace D3D12_RESOURCE_STATE_PRESENT with a function
2025-06-18 14:46:51 +09:00
Hajime Hoshi
6739416e82
internal/graphicsdriver/directx: use C++ for ID3D12CommandQueue on Xbox
2025-06-18 00:05:30 +09:00
Hajime Hoshi
ab315312bb
internal/graphicsdriver/directx: bug fix: resizing a window froze the app
2025-06-17 14:27:07 +09:00
Hajime Hoshi
580a916202
Revert "internal/graphicsdriver/directx: bug fix: the fence value must be more than 0"
...
This reverts commit bd37d849c6 .
Reason: this caused an issue where an application doesn't start on some machines
2025-06-17 14:19:31 +09:00
Hajime Hoshi
bd37d849c6
internal/graphicsdriver/directx: bug fix: the fence value must be more than 0
2025-06-17 13:55:57 +09:00
Hajime Hoshi
5764ac1d42
internal/graphicsdriver/directx: create one fence for one frame
...
This should fix a potential issue where a fence value was increased
unexpectedly.
2025-06-17 00:14:59 +09:00
Hajime Hoshi
d125a85c59
internal/graphicsdriver/directx: remove unnecessary initialization
v2.9.0-alpha.6
2025-06-14 15:15:50 +09:00
Hajime Hoshi
cb73fe26c0
ebiten: add comments
2025-06-13 00:16:11 +09:00