XRender
Encyclopedia
The X Rendering Extension (Render or Xrender) is an X Window System
extension to implement Porter-Duff image compositing
in the X server, to allow efficient display of transparent images.
in 2000 and was first released with XFree86
version 4.0.1.
drawing protocol does not have a way to efficiently draw transparent objects: A computer display is composed of individual pixel
s, which can only show a single color at a time. Thus transparency can only be achieved by mixing the colors of the transparent object to be drawn with the background color (alpha compositing
). However, the standard X protocol only allows drawing with solid color, so the only way to achieve transparency is to fetch the background color from the screen, mix it with the object color, then write it back, which is fairly inefficient.
Since many operations require transparency (for example spatial anti-aliasing, especially during font rasterization
, and transparency effects in window manager
s, such as transparent windows or menus), this limitation caused problems, and Xrender was implemented to address it.
s, but is expected to be used to implement drop shadow
s and translucency
.
Geometric figures are rendered by client-side tessellation into either triangle
s or trapezoid
s. Text is drawn by loading the glyph
s into the server and rendering as a group.
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
extension to implement Porter-Duff image compositing
Alpha compositing
In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial or full transparency. It is often useful to render image elements in separate passes, and then combine the resulting multiple 2D images into a single, final image in a...
in the X server, to allow efficient display of transparent images.
History
It was written by Keith PackardKeith Packard
Keith Packard is a software developer, best known for his work on the X Window System.Packard is responsible for many X extensions and technical papers on X...
in 2000 and was first released with XFree86
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the...
version 4.0.1.
Motivation
The core X Window SystemX Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
drawing protocol does not have a way to efficiently draw transparent objects: A computer display is composed of individual pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....
s, which can only show a single color at a time. Thus transparency can only be achieved by mixing the colors of the transparent object to be drawn with the background color (alpha compositing
Alpha compositing
In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial or full transparency. It is often useful to render image elements in separate passes, and then combine the resulting multiple 2D images into a single, final image in a...
). However, the standard X protocol only allows drawing with solid color, so the only way to achieve transparency is to fetch the background color from the screen, mix it with the object color, then write it back, which is fairly inefficient.
Since many operations require transparency (for example spatial anti-aliasing, especially during font rasterization
Font rasterization
Font rasterization is the process of converting text from a vector description to a raster or bitmap description. This often involves some anti-aliasing on screen text to make it smoother and easier to read...
, and transparency effects in window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...
s, such as transparent windows or menus), this limitation caused problems, and Xrender was implemented to address it.
Features
It provides several rendering operations and also does alpha blending. it serves primarily to implement antialiased fontComputer font
A computer font is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats. Although the term font first referred to a set of metal type sorts in one style and size, since the 1990s it is generally used to refer to a scalable set of digital shapes that may be...
s, but is expected to be used to implement drop shadow
Drop shadow
In computer graphics, a drop shadow is a visual effect consisting of drawing that looks like the shadow of an object, giving the impression that the object is raised above the objects behind it. The drop shadow is often used for elements of a graphical user interface such as windows or menus, and...
s and translucency
Transparency (graphic)
Transparency is possible in a number of graphics file formats. The term transparency is used in various ways by different people, but at its simplest there is "full transparency" i.e. something that is completely invisible. Of course, only part of a graphic should be fully transparent, or there...
.
Geometric figures are rendered by client-side tessellation into either triangle
Triangle
A triangle is one of the basic shapes of geometry: a polygon with three corners or vertices and three sides or edges which are line segments. A triangle with vertices A, B, and C is denoted ....
s or trapezoid
Trapezoid
In Euclidean geometry, a convex quadrilateral with one pair of parallel sides is referred to as a trapezoid in American English and as a trapezium in English outside North America. A trapezoid with vertices ABCD is denoted...
s. Text is drawn by loading the glyph
Glyph
A glyph is an element of writing: an individual mark on a written medium that contributes to the meaning of what is written. A glyph is made up of one or more graphemes....
s into the server and rendering as a group.
External links
- The X Rendering Extension (Keith Packard, Latest Official Specification)
- The Xrender Library
- A New Rendering Model for X (Keith Packard, USENIXUSENIX-External links:* *...
2000) - High Performance X Servers in the Kdrive Architecture (Eric Anholt, USENIXUSENIX-External links:* *...
'04) - Xorg Glossary (X.OrgX.OrgX.Org refers to several things related to the X Window System:* X.Org, the organisation in charge of X standards from 1999 * The X.Org Foundation, a community-based foundation which took over X stewardship in 2004...
)