XRender , la enciclopedia libre
X Rendering Extension | ||
---|---|---|
![]() xclock utiliza la extensión de renderizado para renderizar agujas de reloj translúcidas y antialias | ||
Información general | ||
Tipo de programa | software | |
Autor | X.Org Foundation | |
Desarrollador | Fundación X.Org | |
Licencia | Licencia MIT | |
Información técnica | ||
Plataformas admitidas | UNIX-like | |
Motor | 0.11 | |
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
[editar]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.[1]
Motivación
[editar]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.[2]
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
[editar]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.
Referencias
[editar]- ↑ «Design and Implementation of the X Rendering Extension». 2000. Consultado el 3 de noviembre de 2013.
- ↑ Xft - the X Font library Drawing anti-aliased text with the core protocol involves fetching pixels from the destination, merging in the glyphs and shipping them back. This can be a performance problem when the latency between client and server is high.
Enlaces externos
[editar]- The X Rendering Extension (Keith Packard, Latest Official Specification)
- The Xrender Library
- A New Rendering Model for X (Keith Packard, USENIX 2000)
- High Performance X Servers in the Kdrive Architecture (Eric Anholt, USENIX '04)
- X.Org Glossary (X.Org)