thorvg/src/renderer/sw_engine
Hermet Park 24aba84942 sw_engine: enable render region clipping during rendering
Implemented support for clipping shapes and images using a render region
bounding box at render time. This allows partial drawing of content,
laying the groundwork for upcoming partial rendering functionality.

for fast access of the drawing region from the linear rle data,
we introduced the binary search for begin/end of rle instead of
additional y index buffer.

There is a reason for not using a y-index buffer:
the shapes in the RLE are not single, continuous shapes
but multiple shapes scattered across the space.

which means that we need a double-associated data structure
per shapes for y indexing, and this data preparation wouldn't be
cheaper enough than realtime binary search especially animated data.

This also helps for current clipping performance by utilizing
the introduced fast-clipping region access.

issue: https://github.com/thorvg/thorvg/issues/1747
2025-06-19 12:44:30 +09:00
..
meson.build
tvgSwCommon.h sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwFill.cpp sw_engine: fix focal point clamping 2025-06-18 22:07:07 +09:00
tvgSwImage.cpp
tvgSwMath.cpp
tvgSwMemPool.cpp
tvgSwPostEffect.cpp
tvgSwRaster.cpp sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwRasterAvx.h sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwRasterC.h sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwRasterNeon.h sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwRasterTexmap.h Revert "sw_engine: replaced texture mapping AA with 4x sampling interp" 2025-06-12 23:40:18 +09:00
tvgSwRenderer.cpp sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwRenderer.h renderer: code refactoring 2025-06-17 10:56:53 +09:00
tvgSwRle.cpp sw_engine: enable render region clipping during rendering 2025-06-19 12:44:30 +09:00
tvgSwShape.cpp
tvgSwStroke.cpp