weston/libweston/renderer-gl
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
..
egl-glue.c gl-renderer: use pixel_format_info instead of drm fourccs 2023-01-29 14:47:03 +01:00
fragment.glsl gl-renderer: Improve wireframe rendering 2024-06-27 20:40:37 +00:00
gl-renderer-internal.h gl-renderer: Improve wireframe rendering 2024-06-27 20:40:37 +00:00
gl-renderer.c gl-renderer: Improve wireframe rendering 2024-06-27 20:40:37 +00:00
gl-renderer.h gl-renderer: support automatically downloading FBO renderbuffers 2023-06-09 15:37:09 +00:00
gl-shader-config-color-transformation.c color: add support to parametric curves in weston_color_curve 2024-03-26 11:23:26 +00:00
gl-shaders.c gl-renderer: Improve wireframe rendering 2024-06-27 20:40:37 +00:00
meson.build gl-renderer: implement 3 x 1D LUT color pre-curve 2021-06-21 14:36:33 +00:00
vertex.glsl gl-renderer: Improve wireframe rendering 2024-06-27 20:40:37 +00:00