RuiwenTang
453cba7ddd
gl_engine: make GlRenderTask generic with uniform block
...
* Use uniform block to pack all color informations
* Move the actual gl draw call into GlRenderer::sync function, so all
data is been uploaded into GPU
* Make GlRenderTask simple and generic for direct gl draw
2023-09-21 22:24:07 +09:00
Hermet Park
9e3b74bac5
sw_engine fill: fixed radial fill focal issue.
...
This might be a workaround to correct the issue.
The threshold value comes from the mathematical inaccuracy.
@Issue:https://github.com/thorvg/thorvg/issues/1555
2023-09-21 22:19:42 +09:00
Hermet Park
edb156f4fc
sw_engine/shape: fix a dash-line infite-loop bug.
...
a regresion bug was introduced by d683d2e70d
2023-09-21 21:55:53 +09:00
Hermet Park
bd9d0cea6d
sw_engine: properly implemented the missing image composition.
...
The 8-bit masking target is the destination with a 32-bit source image and 8-bit composition.
2023-09-20 18:42:06 +09:00
Martin Capitanio
5ed7034c45
sw_engine: fix VS 2017 issues with Godot's NOMINMAX
...
Fixes #1661
2023-09-19 21:51:54 +09:00
Hermet Park
8aa12ca468
taskschduler: fix a regression deadlock issue
...
This fix introduces a workaround to enforce synchronous tasking on worker threads.
Sometimes, out of threads get stuck in a deadlock condition.
@Issue: https://github.com/thorvg/thorvg/issues/1636
2023-09-18 21:06:01 +09:00
Hermet Park
d683d2e70d
sw_engine: Do not handle exceptions for zero line length.
...
While it may represent a dot with a stroke width,
ignoring its length is not a good idea.
this also eliminates 0 size dash dots caused by unexpected empty lengths.
2023-09-15 11:16:38 +09:00
RuiwenTang
5298f338de
gl_engine: fix compilation erros due to redundant header inclusion
2023-09-14 19:49:35 +09:00
Hermet Park
ed1b4a4923
sw_engine: allow 8bit grayscale gradient filling
2023-09-14 01:03:22 +09:00
Hermet Park
e9490e375c
sw_engine: corrected a wrong blending equation at 8 bits grayscale rle.
2023-09-14 01:03:22 +09:00
Hermet Park
cea63125a4
sw_engine: fix a wrong compuation.
...
corrected a mistake caused by a dead brain.
2023-09-12 21:40:01 +09:00
Hermet Park
46d831ead7
sw_engine: skip the rendering if possible.
...
zero scale would not produce any visible artifacts.
we can skip the further processing sonner.
2023-09-12 20:52:33 +09:00
Hermet Park
2257211852
sw_engine: fix a regression bug by 0dafe9ff64
...
rectified the stroke scale factor acquisition.
2023-09-12 11:44:27 +09:00
Hermet Park
0dafe9ff64
sw_engine: revised code.
...
add a concrete logic for validating the stroke width
2023-09-05 18:41:20 +09:00
Hermet Park
78cb32794a
sw_engine: utilize the memory pool for dash stroking.
2023-09-05 12:38:57 +09:00
Hermet Park
64a444aeb6
loader/lottie: support focal property in the radial gradient
2023-09-05 10:29:12 +09:00
Hermet Park
fa134692b0
Revert "renderer taskscheduler: code refactoring."
...
This reverts commit 77de62068c
.
This fixes the sanitizer thread report (data race) issue.
@Issue: https://github.com/thorvg/thorvg/issues/1623
2023-09-05 10:22:53 +09:00
RuiwenTang
b6e168b315
gl_engine: pack all data into one gpu buffer
...
Pack all data into one gpu buffer to avoid memory fragmentation
2023-09-05 00:38:27 +09:00
Hermet Park
e0d1c947e6
infra: renamed the files for the consistency.
2023-09-04 17:26:43 +09:00
Mira Grudzinska
ce3c11838c
renderer/sw_engine: support the focal property in the radial gradient.
...
@Issue: https://github.com/thorvg/thorvg/issues/1558
2023-09-04 16:48:38 +09:00
Hermet Park
ad9d9d0ecd
loader/lottie: support trimpath feature
2023-09-01 13:16:18 +09:00
Hermet Park
1112444bd2
renderer/shape: fixed the issue of a missing miterlimit property copy.
2023-08-30 21:45:01 +09:00
Hermet Park
735c1cb9e4
sw_engine: fixed a antialiasing issue.
...
Previously, a mechanism was introduced to skip antialiasing computations
when shapes are invisible due to their stroking. However, this mechanism
failed to account for the scale factor of the stroke; it only considered
the current stroke width as a threshold.
Consequently, when the stroke width is scaled up to a value smaller than
the threshold, the incorrect antialiasing approach is applied. This results
in the appearance of jagged edges.
The implemented fix rectifies this problem and ensures that the antialiasing
computation correctly takes into consideration both the visibility and the
scale factor of the stroke width.
2023-08-30 17:28:41 +09:00
Hermet Park
992891e6a8
sw_engine: a minor optimization.
...
reduced the point counting since we already know some of them.
2023-08-29 13:24:54 +09:00
Martin Capitanio
ab77e1d3d4
THORVG_LOG: --compiler -Werror=empty-body
...
Godot CI:
Error: (thirdparty/thorvg/)src/renderer/tvgPaint.h:85:80: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
85 | if (refCnt == 255) TVGERR("RENDERER", "Corrupted reference count!");
...
2023-08-29 12:30:33 +09:00
Hermet Park
5a73bcaa8f
common/array: code refactoring
...
easy access to a specific data with a operator.
2023-08-29 12:28:38 +09:00
Hermet Park
24711e485c
infra: renames the source folders
...
lib -> renderer
bin -> tools
utils -> common
2023-08-28 13:11:24 +09:00