weston/shared
Loïc Molinari 4566eae245 gl-renderer: Improve wireframe rendering
Render wireframe within paint nodes instead of drawing lines in a
second pass. The wireframe is blended over the node in a single draw
call. This slightly simplifies the logic by removing the computation
of a second set of indices and enables wireframe anti-aliasing using
Celes and Abraham's "Fast and versatile texture-based wireframe
rendering" paper from 2011.

Celes and Abraham use a one-dimensional set of texture coords for each
triangle edge, 1.0 for the 2 vertices defining the edge and 0.0 for
the other vertex, which basically define barycentric coords. Texture
mapping and the mip chain is then exploited to give a constant-width
edge. The main drawback of the technique is that contour edges of
node's damage mesh are drawn half as thick as interior lines since
each triangle draws half of each line's thickness.

Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
2024-06-27 20:40:37 +00:00
..
cairo-util.c shared: make load_cairo_surface() also load the embedded ICC profile 2024-06-11 10:13:18 -03:00
cairo-util.h shared: make load_cairo_surface() also load the embedded ICC profile 2024-06-11 10:13:18 -03:00
config-parser.c doc/sphinx: Include weston-config and shell-utils in docs 2023-01-09 22:13:07 +00:00
fd-util.h libweston: Support zwp_surface_synchronization_v1.set_acquire_fence 2019-02-06 12:21:56 +00:00
file-util.c clients: Fix/resolved doxygen warnings 2019-06-25 14:05:54 +00:00
file-util.h file-util: allow specifying path separately in file_create_dated() 2018-02-09 15:16:07 +00:00
frame.c clients: Add support for tablet cursor motion to window frames in libtoytoolkit 2023-03-31 12:10:26 +00:00
hash.c shared: extract hash table implementation from xwayland 2023-03-03 08:08:46 +00:00
hash.h shared: extract hash table implementation from xwayland 2023-03-03 08:08:46 +00:00
helpers.h gl-renderer: Improve wireframe rendering 2024-06-27 20:40:37 +00:00
image-loader.c shared: remove load_image() 2024-06-11 10:13:18 -03:00
image-loader.h shared: remove load_image() 2024-06-11 10:13:18 -03:00
matrix.c matrix: Introduce weston_coord 2023-02-01 07:27:05 -06:00
meson.build meson: Add missing dependencies on egl 2024-03-18 10:27:40 -05:00
option-parser.c option-parser: Add support for the '--' options 2024-01-26 09:32:46 +00:00
os-compatibility.c shared: memfd_create: try MFD_NOEXEC_SEAL 2024-05-15 16:27:17 +09:30
os-compatibility.h shared: introduce os_fd_clear_cloexec() 2022-07-12 08:30:22 +00:00
platform.h Fix indentation all through the project 2021-07-31 15:28:20 +00:00
process-util.c frontend: Add FDSTR_INIT macro 2023-04-19 08:28:21 +00:00
process-util.h frontend: Add FDSTR_INIT macro 2023-04-19 08:28:21 +00:00
string-helpers.h gl_renderer: print more GL ES feature flags 2022-05-18 14:18:53 +03:00
timespec-util.h helpers: Add a u64 from 2 u32 helper 2022-10-27 08:13:30 +00:00
weston-assert.h shared: add weston_assert_false() 2024-05-06 10:39:42 +00:00
weston-drm-fourcc.h gl-renderer: add support for (a|x)bgr16161616 shm formats 2022-02-02 11:58:58 +00:00
weston-egl-ext.h shared: Add some EGL extensions 2024-06-21 13:28:41 +00:00
xalloc.h compositor/shared: Suppress write(2) warnings 2022-09-23 11:32:19 +00:00
xcb-xwayland.c xwm: Add support for xwayland_shell_v1 2023-03-03 08:21:24 +00:00
xcb-xwayland.h xwm: Add support for xwayland_shell_v1 2023-03-03 08:21:24 +00:00