Chromium (computer graphics)

Chromium is an OpenGL implementation. Unlike other OpenGL implementations, Chromium does not render the OpenGL command stream to a raster image in order to display on-screen. Instead, it manipulates, and moves the OpenGL command stream to other OpenGL implementations (including even other Chromium implementations).

Chromium provides an infrastructure in which modules, known as SPUs or Stream Processing Units, can be inserted. For each OpenGL command, a SPU can modify, discard, or forward it to the next SPU. Chromium supports a client/server architecture. The last SPU in a node can choose to either pass it to another local OpenGL implementation, such as a graphics card, or send it over a network to one or more Chromium Servers.

Uses include:
 * Providing OpenGL for multi-machine, multi-monitor displays. Chromium can be used to provide OpenGL for Xdmx displays.
 * Moving an OpenGL stream from one machine to another. For example, an OpenGL application running in a Windows virtual machine, without 3D acceleration, can make use of full hardware 3D acceleration on a Linux host machine via the use of Chromium.
 * Manipulating an OpenGL stream. Chromium can be used to make polygons an application renders transparent.
 * Via stream manipulation, Chromium can make non-stereoscopic applications stereoscopic.
 * High performance, sort-last configurations. Chromium can be used to split an OpenGL command stream, so that different machines can do different parts of the rendering work. This is like nVidia's SLI but it supports multiple machines.