XRender
# XRender

La Extensión X Rendering (Render o XRender) es una extensión del protocolo base de X11 para implementar la composición alfa en el servidor X, para permitir una visualización eficiente de imágenes transparentes.

## Historia

Fue escrito por Keith Packard en 2000 y se lanzó por primera vez con XFree86 versión 4.0.1. Su diseño fue influenciado por rio, el sistema de ventanas para Plan 9.

## Motivación

El protocolo de dibujo principal del sistema X Window no tiene una forma eficiente de dibujar objetos transparentes: una pantalla de computadora se compone de píxeles individuales, que solo pueden mostrar un solo color a la vez. Por lo tanto, la transparencia solo se puede lograr mezclando los colores del objeto transparente que se dibujará con el color de fondo (composición alfa). Sin embargo, el protocolo estándar X solo permite dibujar con un color sólido, por lo que la única forma de lograr la transparencia es recuperar el color de fondo de la pantalla, mezclarlo con el color del objeto y luego volver a escribirlo, lo que es bastante ineficiente.

Dado que muchas operaciones requieren transparencia (por ejemplo, anti-aliasing_espacial, especialmente durante rasterización de fuentes y efectos de transparencia en gestores de ventanas, como ventanas o menús transparentes), esta limitación causó problemas y se implementó Xrender para abordarla.

## Características

Proporciona varias operaciones de renderizado y también mezcla alfa. Para 2011, sirve principalmente para implementar fuentes antialias, pero por ejemplo KWin, el administrador de ventanas de KDE lo usa para dibujar sombras paralelas y translucidez en caso de que OpenGL no esté disponible.

Las figuras geométricas se representan mediante teselación del lado del cliente en triángulos o trapecios. El texto se dibuja cargando los glifos en el servidor y renderizado como un grupo.

Está diseñado para apuntar a las capacidades gráficas 3D de las tarjetas de video más nuevas.

