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
Hermet Park
af1f3cb59d
gl_engine: revise the gl portability
...
- guarantee minimum gl version requirement
- removed glesv2 dependency
- corrected gl ver dependency
issue: https://github.com/thorvg/thorvg/issues/2282
2024-06-24 11:08:28 +09:00
RuiwenTang
b71d9d563a
gl_engine: Fix compile error if only has OpenGL library on MacOS
...
Since GLES headers and library can not be found on MacOS,
use macros to determin if link with OpenGL library.
2024-06-23 19:34:31 +09:00
Hermet Park
0c8fe81072
gl_engine: improve the dependency check
...
- dependency() works with a pkgconfig, more preferred.
- add fallback to GL library search with candididates.
2024-06-20 17:47:29 +09:00
Hermet Park
f53a331558
infra/gl_enigne: fallback use gles v2 if the system doesn't have v3.
...
let's keep this for a while until our minimum requirement is clear.
2024-05-15 14:54:41 +09:00
Hermet Park
b2695a121c
gl_engine: updated GLES minimum requirement from v2 to v3
...
GLES v3 was introduced many years ago;
we are now dropping support for GLES v2.
issue: https://github.com/thorvg/thorvg/issues/2269
2024-05-13 17:27:08 +09:00
Hermet Park
9f105b60c4
common: Move the list to the gl_engine side.
...
Unfortunately, the usage of this list is not intuitive,
so can be confusing. Placed it only for gl.
2023-11-22 20:59:58 +09:00
RuiwenTang
6a2b34df73
gl_engine: support basic alpha composite
...
* introduce a new class GlRenderPass to hold off-screen rendering result
* add basic alpha composite support with begin/end render-pass
2023-10-20 10:51:04 +09:00
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
24711e485c
infra: renames the source folders
...
lib -> renderer
bin -> tools
utils -> common
2023-08-28 13:11:24 +09:00