Hermet Park
d6335015c4
Update README.md
2024-11-29 22:45:16 +09:00
RuiwenTang
08e88c8df1
gl_engine: Fix the wrong bounds cause composition not correct
...
The bounds should allow negative origins, only zero width or height bounds needs discard.
2024-11-29 19:32:15 +09:00
Sergii Liebodkin
18db3ab1fd
wg_engine: refactor pipeline creation
...
Pipeline creation workflow redesigned. Make code more compact
No any public interfaces changed
2024-11-29 19:08:28 +09:00
Sergii Liebodkin
4a38a4d360
wg_engine: simplify shader types
...
Use universal vec4f type for blend settings and color to pass data as shader parameter
2024-11-29 19:01:47 +09:00
Sergii Liebodkin
163640b3e5
wg_engine: apply texture formats on creation (refactoring)
...
Apply texture color space on texture creation, instead of shader side
2024-11-29 18:57:57 +09:00
Sergii Liebodkin
13b976ee80
wg_engine: support resizing
...
Added abillity to resize target (surface)
In case of resizing only render targets handles recreated
Issue: https://github.com/thorvg/thorvg/issues/2985
2024-11-29 18:48:01 +09:00
Sergii Liebodkin
cf05128a96
wg_engine: revision of device creation policy
...
make valid device and instance as mandatory paramter for webgpu renderer
2024-11-29 18:48:01 +09:00
Sergii Liebodkin
77201546dd
wg_engine: separate pipelines ans bind group layouts (refactoring)
...
The main reason of refactoring is to separate bind group sets and pipelines, and change owning of pipelines to compositor
2024-11-27 11:31:35 +02:00
Hermet Park
af7dbf2277
lottie: ++parser stability
...
fixed a parsing failure that occurred
when a desired single value was presented as part of an array.
issue: https://github.com/thorvg/thorvg/issues/2975
2024-11-27 16:54:33 +09:00
Jinny You
7e66bde4fb
wasm: fix build error
...
Added missing parameter for `GlCanvas->target`
2024-11-27 16:48:26 +09:00
RuiwenTang
1a766ec00e
gl_engine: correct the stroke alpha calculation
...
The wrong matrix scale factor value caused the stroke alpha to be zero
when the matrix contains rotation.
2024-11-27 12:37:47 +09:00
Hermet Park
968e438d25
portability: fixed a compile error on msys2
2024-11-26 22:00:08 +09:00
Hermet Park
08110da33b
Update README.md
2024-11-26 17:23:37 +09:00
RuiwenTang
af5e0e3ef9
gl_engine: support cross compile GL backend into WASM
...
Support cross compile the GL backend code into WASM.
The code needs WebGL 2.0 API so, the compile flags contains `MAX_WEBGL_VERSION` and `FULL_ES3`
Also add binding code to initialize the WebGL context and GLCanvas.
2024-11-26 17:12:49 +09:00
Hermet Park
0f409a654a
renderer: reserved colorspace option in target api
...
API Modification:
- Result WgCanvas::target(void* device, void* instance, void* target, uint32_t w, uint32_t h, int type = 0)
-> Result WgCanvas::target(void* device, void* instance, void* target, uint32_t w, uint32_t h, ColorSpace cs, int type = 0)
- Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, int type)
-> Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, Tvg_Colorspace cs, int type)
2024-11-26 12:04:30 +09:00
Sergii Liebodkin
6c452c1fd3
wg_engine: fix resources disposing on context destroy
...
We must to dispose all paints render handles before the context will be destroyed to prevent handles leak
2024-11-26 11:34:42 +09:00
Hermet Park
951ea77f5d
lottie: compact code++
...
use constructor to remove unnecessary function call
2024-11-26 01:11:03 +09:00
Hermet Park
97058badbf
example: ++lottie extension
2024-11-26 01:11:03 +09:00
Hermet Park
e811a513f2
lottie: ++slot overriding
...
- fixed the ommiting the duplicate keyframe data overriding
- code refactoring
issue: https://github.com/thorvg/thorvg/issues/2988
2024-11-26 01:11:03 +09:00
Mira Grudzinska
b453bd4f40
lottie: fix bug in expressions
...
'end' used instead of 'offset'
2024-11-25 21:54:37 +09:00
Hermet Park
036d1e7cac
example: ++gl, wgpu safety
...
Free the canvas in the reverse order of their creation.
2024-11-25 11:10:25 +09:00
Hermet Park
8995bc32a2
lottie: portability++
...
issue: https://github.com/lvgl/lvgl/issues/7214
2024-11-23 11:43:33 +09:00
Hermet Park
877c524e5e
renderer/sw_engine: fix omitted alpha multiplication in the dropshadow effect
...
When a scene has a valid opacity, it must be multiplied with the
direct dropshadow image to ensure correct rendering.
2024-11-23 01:03:39 +09:00
Sergii Liebodkin
077a0481c4
wg_engine: reset context in examples
...
Fix examples termination process: reset context while window releasing before webgpu instance released
Issue https://github.com/thorvg/thorvg/issues/2745
2024-11-22 18:34:46 +09:00
Sergii Liebodkin
d0bc4bc4f5
wg_engine: multicanvas support (multicanvas example)
...
Updated multicanvas example
Issue https://github.com/thorvg/thorvg/issues/2745
2024-11-22 12:34:26 +09:00
Sergii Liebodkin
3805f26aff
wg_engine: multicanvas support
...
Added multicanas support
Issue https://github.com/thorvg/thorvg/issues/2745
2024-11-22 12:34:26 +09:00
Hermet Park
57fcada8cc
example: updated lottie samples
2024-11-22 11:17:07 +09:00
Hermet Park
ccaf44e80e
gl_engine: fix a regression by a mistake
...
introduced by d3d085de15
2024-11-22 00:38:03 +09:00
Mira Grudzinska
b5d81be339
tests: remove capi tests
...
@Issue: https://github.com/thorvg/thorvg/issues/2978
2024-11-21 23:39:17 +09:00
Hermet Park
d069156994
Update README.md
2024-11-21 01:31:48 +09:00
Mira Grudzinska
0cc0d0e1c8
lottie: shapes support in text range selector
...
@issue: #2178
2024-11-21 01:20:53 +09:00
Mira Grudzinska
a6fb2ef9a7
lottie: easing support in text range selector
...
@issue: #2178
2024-11-21 01:05:11 +09:00
Sergii Liebodkin
f5a183b20c
wg_engine: fix gradint stops color usage
...
Fixed access to the last value of color stops array
https://github.com/thorvg/thorvg/issues/2922
2024-11-20 22:20:25 +09:00
Hermet Park
d3d085de15
renderer: code refactoring
...
- introduced RenderColor
- internal name changes to avoid conflicts
2024-11-20 22:13:27 +09:00
lpogic
a67f30de65
renderer: Fix paint transformation on scene change
...
issue: https://github.com/thorvg/thorvg/issues/2958
2024-11-20 15:43:58 +09:00
Hermet Park
96e8d3d7a2
api: revise the gl target() api.
...
API modification:
- Result GlCanvas::target(int32_t id, uint32_t w, uint32_t h)
-> Result GlCanvas::target(int32_t id, uint32_t w, uint32_t h, ColorSpace cs)
- Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, int32_t id, uint32_t w, uint32_t h)
-> Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, int32_t id, uint32_t w, uint32_t h, Tvg_Colorspace cs)
issue: https://github.com/thorvg/thorvg/issues/1372
2024-11-20 14:55:40 +09:00
Hermet Park
0b4f2a49fe
common: improved instance memory handling
...
- prevent dangling instances in failure scenarios by utilizing a reference counter.
- update the test suite to treat null pointer arguments as invalid argument failures.
2024-11-20 01:53:25 +09:00
Hermet Park
df8fc1949c
test: ++paint reference counting
2024-11-20 01:53:25 +09:00
Hermet Park
16b985799a
capi: introduced paint reference counting
...
New APIs:
- uint8_t tvg_paint_ref(Tvg_Paint* paint)
- uint8_t tvg_paint_unref(Tvg_Paint* paint, bool free)
- uint8_t tvg_paint_get_ref(const Tvg_Paint* paint)
issue: https://github.com/thorvg/thorvg/issues/1372 https://github.com/thorvg/thorvg/issues/2598
2024-11-20 01:53:25 +09:00
Hermet Park
22d94ea629
renderer: introduced paint reference counting
...
The reference count of the Paint object allows
easy & safe shared ownership and control over its lifetime
among users and the engine.
New APIs:
- uint8_t Paint::ref()
- uint8_t Paint::unref(bool free = true)
- uint8_t Paint::refCnt() const
issue: https://github.com/thorvg/thorvg/issues/1372 https://github.com/thorvg/thorvg/issues/2598
2024-11-20 01:53:25 +09:00
Mira Grudzinska
511495f6d8
svg_loader: handle currentColor inside gradient
...
@Issue: https://github.com/thorvg/thorvg/issues/2960
2024-11-20 01:46:19 +09:00
Hermet Park
b7888c2ff3
lottie: --minor memory leak
2024-11-19 01:55:38 +09:00
Hermet Park
b66ce727ff
lottie: Fixed a regression bug
...
Reverted commit db800c8d45
,
which introduced another regression that omitted support
for multiple image asset references.
Updated the data of active images in the pooler
within the override() function to resolve the issue.
2024-11-19 01:55:38 +09:00
Hermet Park
66d4bab696
lottie: ++slot overriding
...
Keep trying overriding even if the given sid is invalid.
issue: https://github.com/thorvg/thorvg/issues/2969
2024-11-18 19:52:47 +09:00
Mira Grudzinska
a0f1c2d99d
infra: prevent warning on windows
...
"conversion from 'float' to 'int8_t', possible loss of data"
2024-11-18 19:03:30 +09:00
Jinny You
931d0748bb
lottie/slot: Fix incorrect image slot schema
...
Issue: #2964
2024-11-18 19:01:10 +09:00
Hermet Park
db800c8d45
lottie: fixed a memory leak
...
A regression bug by efe7440fa0
To address this, removed the non-essential image pooling mechanism.
issue: https://github.com/thorvg/thorvg/issues/2959
2024-11-18 18:51:15 +09:00
Hermet Park
8107582c8b
example/lottie_extension: added overriden default slot sample
2024-11-18 16:59:17 +09:00
Hermet Park
0b0488df82
lottie: corrected an omission in overriding the default slot
...
issue: https://github.com/thorvg/thorvg/issues/2953
2024-11-18 16:59:17 +09:00
Jinny You
a85470b5d5
wasm: Enhance gif saving without data copy
...
Removed data copy for gif saving.
Binding function `save` has changed:
- bool save(string data, string mimetype)
2024-11-18 14:55:14 +09:00