Hermet Park
71a180a9be
Update CODEOWNERS
2024-07-29 00:43:26 +09:00
Hermet Park
f6b30c537f
Update CODEOWNERS
2024-07-29 00:32:45 +09:00
Mira Grudzinska
dcc8a1d042
sw_engine: fix radial coefficients calculations
...
In the Taylor series expansion, there was a missing
division by 2! in the term with the second derivative.
@Issue: https://github.com/thorvg/thorvg/issues/2530
2024-07-28 00:14:15 +09:00
Hermet Park
356b813f79
lottie/expressions: hotfix
...
- fixed a memory leak.
- corrected loopIn key value.
2024-07-26 16:03:55 +09:00
Hermet Park
f4364ddb86
sw_engine: rectified the image raster return value.
...
Return the raster image as a success unless
it fails due to any problematic condition.
The changed cases are just invisible condition
of the images.
2024-07-26 16:03:55 +09:00
Hermet Park
b388bf06d5
renderer/animation: rectified the segment value exception
...
A zero-range segment can be useful for a stopped motion.
There is no need to prohibit these values.
2024-07-25 20:12:32 +09:00
Hermet Park
c8c565df92
lottie/expressions: feature support enhancement
...
- revised the transformation building logic.
- rectified to properly search "this" composition layers.
- rectified the linear interpolation implementation.
- added "pingpong" looping attributes.
2024-07-24 11:26:20 +09:00
Hermet Park
3804bbec57
lottie: code refactoring
...
- removed unnecessary variables.
- migrated the composition methods to the precomp layer.
2024-07-24 11:26:20 +09:00
Mira Grudzinska
828f8e0767
sw_engine: fix linear grad issue
...
The restriction of the 'length' of a linear gradient
to values greater than FLT_EPSILON was causing rendering
issues in cases where it was a valid gradient with well
defined dx and dy values.
@Issue: https://github.com/thorvg/thorvg/issues/2582
2024-07-23 22:07:50 +09:00
Hermet Park
c7ae3ae2af
svg: resolve compiler warnings.
...
../src/loaders/svg/tvgSvgLoader.cpp: In function ‘bool _toColor(const char*, uint8_t*, uint8_t*, uint8_t*, char**)’:
../src/loaders/svg/tvgSvgLoader.cpp:108:17: warning: ‘hue’ may be used uninitialized [-Wmaybe-uninitialized]
108 | const char* _end = end ? *end : nullptr;
| ^~~~
../src/loaders/svg/tvgSvgLoader.cpp:713:31: note: ‘hue’ was declared here
713 | const char *content, *hue, *saturation, *brightness;
| ^~~
../src/loaders/svg/tvgSvgLoader.cpp:108:17: warning: ‘saturation’ may be used uninitialized [-Wmaybe-uninitialized]
108 | const char* _end = end ? *end : nullptr;
| ^~~~
../src/loaders/svg/tvgSvgLoader.cpp:713:37: note: ‘saturation’ was declared here
713 | const char *content, *hue, *saturation, *brightness;
| ^~~~~~~~~~
../src/loaders/svg/tvgSvgLoader.cpp:108:17: warning: ‘brightness’ may be used uninitialized [-Wmaybe-uninitialized]
108 | const char* _end = end ? *end : nullptr;
| ^~~~
../src/loaders/svg/tvgSvgLoader.cpp:713:50: note: ‘brightness’ was declared here
713 | const char *content, *hue, *saturation, *brightness;
| ^~~~~~~~~~
2024-07-23 17:09:26 +09:00
Hermet Park
18eb465fe8
lottie: ++optimization with object culling
...
More precisely, culling the render objects by
determining if the group has no renderable objects.
Additionally, check opacity to quickly return
in the rendering process.
2024-07-22 17:17:08 +09:00
Hermet Park
bc30bca366
lottie: hotfix with an intermediate patch merge.
2024-07-22 12:28:17 +09:00
Hermet Park
3181ea660f
lottie: ++scene rendering optimization
...
Apply LottieRenderPooler to texts.
2024-07-22 12:08:27 +09:00
Hermet Park
de72161087
example: merge Path & PathCopy
2024-07-21 15:05:07 +09:00
Hermet Park
db889e1835
renderer: quick skip rendering if the opacity is zero
...
This also resolves a corner case bug introduced by
lottie render pooling: f06127ab93
2024-07-21 15:05:07 +09:00
Hermet Park
a47839a40b
sw_engine: hotfix simd build breaks
...
regression by 837cf32bcb
2024-07-19 23:07:31 +09:00
Hermet Park
803dcb3fb9
lottie/expressions: ++coverage enhancement
...
Allow to access layer index globally.
2024-07-19 23:01:29 +09:00
Hermet Park
65fe1cb465
examples: updated lottie samples
2024-07-19 15:19:36 +09:00
Hermet Park
9e7d8b37ff
examples: added more expressions samples
2024-07-18 22:14:05 +09:00
Hermet Park
16cb1020ac
lottie/expressions: added a missing polystar property build.
2024-07-18 20:46:06 +09:00
Hermet Park
c825c2f929
sw_engine: ++alpha blending operation.
...
Reduce instructions, improving its performance by ~15%
2024-07-18 20:45:54 +09:00
Mira Grudzinska
83439f34e1
tests: version api tests
2024-07-18 12:47:58 +09:00
Mira Grudzinska
8125d66da9
capi: the version api binding
2024-07-18 12:47:58 +09:00
Mira Grudzinska
17e0bcd332
common: version api introduced
...
@Issue: https://github.com/thorvg/thorvg/issues/2543
2024-07-18 12:47:58 +09:00
Sergii Liebodkin
f4e1c13a79
wg_engine: fix cubic generation artifacts (GradientStroke example)
...
[GradientStroke](https://github.com/thorvg/thorvg/issues/2435 ) example
More accurate coefitient computation
2024-07-17 12:54:19 +09:00
Sergii Liebodkin
4cc132ad47
wg_engine: fix fill spread artifacts
...
[issues 2435: ](FillSpread) example
Fixed range selector edged cases
2024-07-17 12:51:06 +09:00
Hermet Park
71ba9ab7cf
renderer: ++null check
...
fixed a Duplicate example crash, regression by:
f06127ab93
2024-07-16 00:47:03 +09:00
Sergii Liebodkin
2c948a33d3
wg_engine: ClipPath support
...
[issues 1479: ClipPath](#1479 )
Supports ClipPath composition.
Clip path composition is an only composition type who doesn't ignore blend method.
Clip path is a combination of composition approach and blend approach using compute shader
2024-07-16 00:01:47 +09:00
Hermet Park
f06127ab93
lottie: ++scene rendering optimization
...
Apply LottieRenderPooler to path/rect/ellipse/polystar.
This enhances the animation performance: ~10%
2024-07-14 19:26:51 +09:00
Hermet Park
350f7a4357
examples: ++exception handling
...
Added handling for engine initialization failure.
2024-07-14 12:04:31 +09:00
Mira Grudzinska
d42c10301e
sw_engine: grayscale image support++
2024-07-14 11:47:29 +09:00
Hermet Park
c20ecbcc58
lottie: introduced LottieRenderPooler
...
LottieRenderPooler is designed to manages rendering
instances(paints) efficiently through a simple pooling
mechanism to resuse among the animations
This replaces the previous individusal paints implemenations
among solidfill, precomp vierport and pictures,
also fix a potential paints corruption problems.
2024-07-13 19:22:06 +09:00
Hermet Park
bcc2f5008c
infra: updated ios arm64 build
2024-07-13 15:30:20 +09:00
Hermet Park
b915455e89
examples: added LottieExpressions
2024-07-12 18:57:10 +09:00
Hermet Park
cfc8f13584
lottie/parser: tiny binary size reduction
2024-07-12 14:43:00 +09:00
Mira Grudzinska
8340c1e1d7
lottie: support 'direction' in ellipses
2024-07-12 14:23:27 +09:00
Mira Grudzinska
bedaa909ad
lottie: remove unnecessary cast
2024-07-12 13:54:49 +09:00
Hermet Park
ad2b6f6d51
examples: updated lottie samples
2024-07-12 00:39:31 +09:00
Hermet Park
22bab117a3
lottie: clarify shape direction.
...
There are only two options clockwise or counter-clockwise.
2024-07-12 00:39:31 +09:00
Mira Grudzinska
6025635712
lottie: apply direction to rect
2024-07-12 00:05:08 +09:00
Hermet Park
a69a5c300f
examples: added svg samples
2024-07-11 23:31:07 +09:00
Hermet Park
4cb327c9fd
lottie: ++ scene composing optimization
...
retain resuable layer solid paint during animation.
2024-07-11 21:30:31 +09:00
Hermet Park
d95ec72335
lottie: ++ scene composing optimization
...
retain reusable precomp clipper shapes during animation.
2024-07-11 21:30:31 +09:00
Sergii Liebodkin
3223f17f9c
wg_engine: Viewport support
...
[issues 1479: Viewport](#1479 )
Supports viewport settings and rectangular clip path.
Scissors cliping used as a way to clip viewport
2024-07-11 21:24:18 +09:00
Hermet Park
d6d4839f1a
lottie: ++memory access stability
...
Internal matrix can be null.
This update prevents such cases by using a safer API.
2024-07-11 01:03:50 +09:00
Jinny You
fdc1ad4d2c
lottie/text: Support text range selector (Phase 1)
...
This patch provides initial support for the text range selector. Full support will be added gradually in subsequent steps. This is the first step.
Text range selector with following properties:
1. Text Range Selector (Units)
2. Text Style
- Fill Color
- Fill Opacity
- Stroke Color
- Stroke Width
- Stroke Opacity
- Opacity
- Rotation
- Position
- Scale
2024-07-11 00:49:57 +09:00
Hermet Park
5a2a6fc4a9
common: replace the round() with nearbyint()
...
nearbyint() is 2x faster than round() in our local test.
2024-07-10 23:43:10 +09:00
Hermet Park
837cf32bcb
sw_engine: code refactoring.
...
just renamed internal name shorter.
2024-07-10 18:35:20 +09:00
Hermet Park
065a8f5eb3
sw_engine: ++rle optimization
...
Reduction memory copy by pushing span data into rle immediately.
2024-07-10 18:35:20 +09:00
Mira Grudzinska
e07ff127dd
lottie: improvement 3d rotation
...
For rotation around the X and Y axes, the transformation
matrix was incorrectly created - elements e12 and e21
were omitted. Now fixed.
2024-07-10 16:58:03 +09:00