Hermet Park
bfe707170f
gl_engine: rewrite the blending shader
...
Completely rewrite the GL backend shader to support advance blending and
correct the blending behavior.
Now the GL backend has the same blending result as SKIA and CanvasRenderingContext2D in browers did.
The formula is referenced from:
https://www.w3.org/TR/compositing-1/#porterduffcompositingoperators
issue: https://github.com/thorvg/thorvg/issues/2799
2025-06-30 12:08:03 +09:00
Sergii Liebodkin
55847bdcb3
gl_engine: fix memoty leak on target resize
...
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
We must to remove offscreen render buffers during removing render target
https://github.com/thorvg/thorvg/issues/3210
2025-05-25 23:04:12 +09:00
Hermet Park
3fbb55440a
renderer: ++engines safety
...
Added drawing exceptions when target is not properly ready.
Now, Canvas::update() Canvas::draw() will return InsufficientCondition
if the target has not been set beforehand.
2025-05-12 12:49:10 +09:00
Hermet Park
e002d68338
Revert "gl_engine: Introduce gauss blur effect for opengl renderer"
...
This reverts commit 131c194124
.
note: Lottie animation is broken
2025-03-28 00:28:27 +09:00
Sergii Liebodkin
131c194124
gl_engine: Introduce gauss blur effect for opengl renderer
...
issue: https://github.com/thorvg/thorvg/issues/3054
2025-03-27 22:51:02 +09:00
Hermet Park
a12accbc93
updated copyright
2025-01-03 14:32:31 +09:00
RuiwenTang
3c6d686795
gl_engine: fix fbo and texture leak
...
GlRenderTarget contains framebuffer and render target objects,
these GPU resources need to be released before reusing the structure and calling init with the new size.
2024-12-31 16:25:11 +09:00
Hermet Park
ccf5a8158f
gl_engine: ++binary optimization
...
- removed unique_ptr, shared_ptr
- replaced std::vector with tvg::Array
- reduced binary size by -10kb
2024-12-30 22:24:53 +09:00
RuiwenTang
76f98008e8
gl_engine: optimize off-screen rendering
...
Performing a full-screen RenderPass resolve is too expensive.
Because most composite cases only require a small area to be rendered off-screen.
To improve performance, use the bounds of the Geometry for off-screen rendering whenever possible
2024-07-04 11:44:02 +09:00