SergeyLebedkin
35b03c826e
wg_engine: introduce a webgpu canvas(engine)
...
WebGPU is a Render Hardware Interface built on top of the various APIs
provided by the driver/OS depending on your platform.
WebGPU exposes an API for performing operations,
such as rendering and computation, on a Graphics Processing Unit.
WebGPU official documentation: https://www.w3.org/TR/webgpu/
The new engine type introduced: tvg::CanvasEngine::Wg
The new canvas type introduced: tvg::WgCanvas
Example:
$meson setup build -Dengines=wg_beta
`
// init engine webgpu
tvg::Initializer::init(tvg::CanvasEngine::Wg, 0);
// create wg canvas
auto canvasWg = tvg::WgCanvas::gen();
canvas_wg->target(glfwGetWin32Window(window), width, height);
// ...
// terminate engine and window
tvg::Initializer::term(tvg::CanvasEngine::Wg);
`
Still this feature is under the beta
Issue: https://github.com/thorvg/thorvg/issues/1479
2023-12-26 17:49:16 +09:00
Nattu Adnan
f22c7bdaea
Enhance README image responsiveness
2023-12-26 17:49:09 +09:00
Hermet Park
8a6b5626fc
lottie/builder: fix a regression bug.
...
currently thorvg doesn't support full 3d transformation.
orthogonal projection is mandatory.
Issue: https://github.com/thorvg/thorvg/issues/1698
2023-12-26 17:49:03 +09:00
Hermet Park
f37bbce2f5
examples: add svg samples.
2023-12-26 17:48:56 +09:00
Hermet Park
84a19ece7e
examples: allow gl test
2023-12-26 17:48:50 +09:00
RuiwenTang
49b7ea4679
gl_engine: support clip by using scissor and stencil
2023-12-26 17:48:41 +09:00
Martin Capitanio
7444e5bd25
loader/svg: Fix maskContentUnits userSpaceOnUse/objectBoundingBox
...
Fixes #1694
2023-12-26 17:48:33 +09:00
Hermet Park
311163bdd3
Update README.md
2023-12-26 17:48:26 +09:00
Hermet Park
58a0dba514
infra: add android CI build test with necessary cross build config.
2023-12-26 17:48:20 +09:00
Hermet Park
a646844142
Update CONTRIBUTING.md
2023-12-26 17:48:15 +09:00
Hermet Park
e31902d5b1
infra/gitaction: fix a broken macos/ios CI build.
2023-12-26 17:48:07 +09:00
Hermet Park
01dd93be11
infra: migrate cross files into one folder.
2023-12-26 17:48:01 +09:00
Hermet Park
e1f1b9656b
lottie/builder: revise the render context for saving memory.
...
Allocate repeater context only when it's valid.
2023-12-26 17:47:53 +09:00
Hermet Park
820547562c
Lottie: Fixed handling of multiple strokes in one layer.
...
Revised the rendering logic of Lottie by creating a new rendering context
using a queue when multiple strokes are requested.
Issue: https://github.com/thorvg/thorvg/issues/1642
2023-12-26 17:47:47 +09:00
Hermet Park
19b1e4fdf2
Update CONTRIBUTING.md
2023-12-26 17:47:39 +09:00
Hermet Park
0a9d98ccfd
sw_engine/stroke: enhanced the quality of the dash line corners.
...
Previously, the engine didn't properly cover the dash line corner styles
because it considered a new line to start at the corner.
This update modifies the logic to recognize curved lines
as a single line, including the corners.
There may still be some quality issues,
but it's an improvement over the previous version.
@Issue: https://github.com/thorvg/thorvg/issues/121
2023-12-26 17:47:32 +09:00
Hermet Park
ba97607840
Update CONTRIBUTING.md
2023-12-26 17:47:12 +09:00
Hermet Park
c48258d98f
Update CODEOWNERS
2023-12-26 17:45:38 +09:00
Hermet Park
ed68090e29
Update CODEOWNERS
2023-12-26 17:45:30 +09:00
Hermet Park
943b72c17c
Update CODEOWNERS
2023-12-26 17:45:25 +09:00
RuiwenTang
d257835507
gl_engine: support render image
2023-12-26 17:45:18 +09:00
Hermet Park
8149194c61
Update README.md
2023-12-26 17:45:12 +09:00
Hermet Park
926f3f37db
infra/gitaction: corrected meson build commands
...
meson "setup" is a mandatory command. skipping has been deprecated.
2023-12-26 17:44:49 +09:00
Hermet Park
8b74bc2bc8
infra/ios: added basic CI git action workflow.
2023-12-26 17:44:39 +09:00
Hermet Park
d95283384f
infra: added ios cross compile scripts.
...
meson setup builddir --cross-file ./ios_x86_64_cross.txt ...
2023-12-26 17:44:33 +09:00
Hermet Park
4bdc0d69d6
infra: changed to dev mode
2023-12-26 17:44:24 +09:00
Hermet Park
12260198d1
release: bump up version v0.11.0
2023-09-28 08:30:34 +09:00
Hermet Park
b0f6640bca
docs: updated to v0.11
...
In this update, we have chosen not to include CAPIs.
This decision was made due to the mixture of C++ and C languages
in a single documentation category, which resulted in a messy presentation.
Also, In this update, we have removed 'doxygen-awesome-css'
and introduced our own designated styles located in the 'style' folder.
After generating the Doxyfiles, we can overwrite the styles with these new ones.
2023-09-27 11:18:25 +09:00
Hermet Park
ba84771cce
Update README.md
2023-09-26 22:46:26 +09:00
Hermet Park
0e3b3d3095
Update README.md
2023-09-26 22:43:38 +09:00
Hermet Park
2b7c47f2b5
doc/capi: updated
2023-09-26 19:06:57 +09:00
Hermet Park
5ecd3fb479
sw_engine: Correct the color conversion condition.
...
The color conversion is supposed to take into account the differences between
straight alpha premultiplied color and pre-multiplied alpha color.
The previous logic does not perfectly cover these conditions.
The problem was occured in the thorvg viewer with a jpeg bgra format.
2023-09-26 18:57:34 +09:00
Hermet Park
e8fd7e2b85
infra: update the tvg binaries.
2023-09-26 17:42:17 +09:00
Hermet Park
51c3a8912c
sw_engine: fix an invalid memory access.
...
the surface and mesh data can be missed by an invalid condition.
this fixes an invalid memory access problem.
Issue: https://github.com/thorvg/thorvg/issues/1671
2023-09-26 17:41:08 +09:00
Hermet Park
92b6f9dc48
examples: remove Async test
...
We have alternative test cases for it such as Lottie
2023-09-26 14:50:16 +09:00
Hermet Park
e4ade98e8c
sw_engine: fix a regression stroke bug
...
reverted changes that occurred this issue from d683d2e
Issue: https://github.com/thorvg/thorvg/issues/1670
2023-09-26 14:26:57 +09:00
Hermet Park
7ec969be29
lottie/builder: Fix incorrect stroke width scaling propagation.
...
The transform (scale) should be applied to the following drawing elements,
not the previous stroke.
2023-09-26 14:24:52 +09:00
Hermet Park
74b67919e0
tvg: support radial gradient focal properties
...
properly store/restore the radial gradient focal properties
from the tvg loader and saver
2023-09-26 13:05:27 +09:00
Hermet Park
ed23b432bb
tvg: support dash offset property
...
properly store/restore the dash offset property
from the tvg loader and saver
Issue: https://github.com/thorvg/thorvg/issues/1617
2023-09-26 13:05:27 +09:00
Hermet Park
c7123a1547
test: enhanced the unit-test coverage
...
supplements animation/lottie/sw_engine test cases.
updated the page: https://github.com/thorvg/thorvg/wiki/Unit-Tests
Issue: https://github.com/thorvg/thorvg/issues/1669
2023-09-26 10:48:33 +09:00
Hermet Park
fdd90605c7
lottie/builder: fix a memory leak.
...
fixed a memory leak in an exceptional case.
2023-09-26 10:48:33 +09:00
Hermet Park
1819fed033
renderer/paint: fixed a mismatched reference count.
...
This correction ensures a consistent use of 'ref' and 'unref' for paints to release memory properly.
The memory leak occurred when a picture was not pushed to a valid canvas.
This issue was reported by the unit-test memory sanitizer.
2023-09-26 10:48:33 +09:00
Hermet Park
2fb0cc8309
Update README.md
2023-09-26 01:29:47 +09:00
Hermet Park
2f1873f04e
test/capi: update unit tests
...
added a Tvg_Composite_Method::TVG_COMPOSITE_METHOD_NONE case
2023-09-25 21:33:23 +09:00
Hermet Park
ac82234360
capi: api sync up.
...
added beta apis:
- enum Tvg_Composite_Method::TVG_COMPOSITE_METHOD_INVERSE_LUMA_MASK;
promote apis:
- TVG_API Tvg_Result tvg_shape_set_stroke_miterlimit(Tvg_Paint* paint, float miterlimit);
- TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint* paint, float* miterlimit);
@Issue: https://github.com/thorvg/thorvg/issues/1669
2023-09-25 21:33:23 +09:00
Hermet Park
0f5f43db1e
apis: promote beta apis to the official ones.
...
- enum class CompositeMethod::InvLumaMask;
- template<typename T> std::unique_ptr<T> cast(Paint* paint);
- template<typename T> std::unique_ptr<T> cast(Fill* fill);
@Issue: https://github.com/thorvg/thorvg/issues/1669
2023-09-25 21:33:23 +09:00
Hermet Park
44d0f98274
examples/capi: added an animation example.
2023-09-25 12:27:22 +09:00
Hermet Park
749523b709
capi/animation: support animation features under the beta.
...
New APIs:
- Tvg_Animation* tvg_animation_new();
- Tvg_Result tvg_animation_set_frame(Tvg_Animation* animation, uint32_t no);
- Tvg_Paint* tvg_animation_get_picture(Tvg_Animation* animation);
- Tvg_Result tvg_animation_get_cur_frame(Tvg_Animation* animation, uint32_t* no);
- Tvg_Result tvg_animation_get_total_frame(Tvg_Animation* animation, uint32_t* cnt);
- Tvg_Result tvg_animatoon_get_duration(Tvg_Animation* animation, float* duration);
- Tvg_Result tvg_animation_del(Tvg_Animation* animation);
2023-09-25 12:27:22 +09:00
Hermet Park
dc9e14a20f
lottie/model: revise the color stop population logic.
...
The omitted data must be generated with interpolation.
This change supplements that logic.
2023-09-25 11:04:20 +09:00
Hermet Park
dc67c405f8
infra/gitaction: hotfix system buid fail.
2023-09-22 16:25:26 +09:00