Chromium (computer graphics)

Last updated

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). [1]

Contents

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:

See also

Related Research Articles

The Graphics Device Interface (GDI) is a Microsoft Windows application programming interface and core operating system component responsible for representing graphical objects and transmitting them to output devices such as monitors and printers.

Graphics processing unit Specialized electronic circuit; graphics accelerator

A graphics processing unit (GPU) is a specialized, electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing. Their highly parallel structure makes them more efficient than general-purpose central processing units (CPUs) for algorithms that process large blocks of data in parallel. In a personal computer, a GPU can be present on a video card or embedded on the motherboard. In certain CPUs, they are embedded on the CPU die.

X.Org Server is the free and open-source implementation of the X Window System display server stewarded by the X.Org Foundation.

GLX is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishing to use OpenGL to do so within a window provided by the X Window System. GLX distinguishes two "states": indirect state and direct state.

The X video extension, often abbreviated as XVideo or Xv, is a video output mechanism for the X Window System. The protocol was designed by David Carver; the specification for version 2 of the protocol was written in July 1991. It is mainly used today to resize video content in the video controller hardware in order to enlarge a given video or to watch it in full screen mode. Without XVideo, X would have to do this scaling on the main CPU. That requires a considerable amount of processing power, which could slow down or degrade the video stream; video controllers are specifically designed for this kind of computation, so can do it much more cheaply. Similarly, the X video extension can have the video controller perform color space conversions, and change the contrast, brightness, and hue of a displayed video stream.

Direct3D and OpenGL are competing application programming interfaces (APIs) which can be used in applications to render 2D and 3D computer graphics. As of 2005, graphics processing units (GPUs) almost always implement one version of both of these APIs. Examples include: DirectX 9 and OpenGL 2 circa 2004; DirectX 10 and OpenGL 3 circa 2008; and most recently, DirectX 11 and OpenGL 4 circa 2011. GPUs that support more recent versions of the standards are backward-compatible with applications that use the older standards; for example, one can run older DirectX 9 games on a more recent DirectX 11-certified GPU.

Parallel rendering is the application of parallel programming to the computational domain of computer graphics. Rendering graphics can require massive computational resources for complex scenes that arise in scientific visualization, medical visualization, CAD applications, and virtual reality. Recent research has also suggested that parallel rendering can be applied to mobile gaming to decrease power consumption and increase graphical fidelity. Rendering is an embarrassingly parallel workload in multiple domains and thus has been the subject of much research.

Direct Rendering Infrastructure

The Direct Rendering Infrastructure (DRI) is a framework for allowing direct access to graphics hardware under the X Window System in a safe, efficient way. The main use of DRI is to provide hardware acceleration for the Mesa implementation of OpenGL. DRI has also been adapted to provide OpenGL acceleration on a framebuffer console without a display server running.

Xgl

Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or Beryl. The project was started by David Reveman of Novell and first released on January 2, 2006. It was removed from the X.org server in favor of AIGLX on June 12, 2008.

Core Video is the video processing model employed by macOS. It links the process of decompressing frames from a video source to the rest of the Quartz technologies for image rendering and composition. Both QuickTime X and QuickTime 7 depend on Core Video.

Desktop Window Manager is the window manager in Windows Vista, Windows 7, Windows 8 and Windows 10 that enables the use of hardware acceleration to render the graphical user interface of Windows.

AIGLX

Accelerated Indirect GLX ("AIGLX") is an open source project founded by Red Hat and the Fedora community, led by Kristian Høgsberg, to allow accelerated indirect GLX rendering capabilities to the X.Org Server and DRI drivers. This allows remote X clients to get fully hardware accelerated rendering over the GLX protocol; coincidentally, this development was required for OpenGL compositing window managers to function with hardware acceleration.

Core OpenGL, or CGL, is Apple Inc.'s Macintosh Quartz windowing system interface to the OS X implementation of the OpenGL specification. CGL is analogous to GLX, which is the X11 interface to OpenGL, as well as WGL, which is the Microsoft Windows interface to OpenGL.

VirtualGL is an open source program that redirects the 3D rendering commands from Unix and Linux OpenGL applications to 3D accelerator hardware in a dedicated server and displays the rendered output interactively to a thin client located elsewhere on the network.

Video wall Technique used for creating large video displays, without a video projector

A video wall is a special multi-monitor setup that consists of multiple computer monitors, video projectors, or television sets tiled together contiguously or overlapped in order to form one large screen. Typical display technologies include LCD panels, Direct View LED arrays, blended projection screens, Laser Phosphor Displays, and rear projection cubes. Jumbotron technology was also previously used. Diamond Vision was historically similar to Jumbotron in that they both used cathode-ray tube (CRT) technology, but with slight differences between the two. Early Diamond vision displays used separate flood gun CRTs, one per subpixel. Later Diamond vision displays and all Jumbotrons used field-replaceable modules containing several flood gun CRTs each, one per subpixel, that had common connections shared across all CRTs in a module; the module was connected through a single weather-sealed connector.

Xsgi was the Silicon Graphics (SGI) implementation of the X Window System (X11) server for its IRIX-based graphical workstations and servers. Xsgi was released in 1991 with IRIX 4.0 on the SGI Indigo workstation.

AMD Radeon Software

AMD Radeon Software is a device driver and utility software package for Advanced Micro Devices's graphics cards and APUs. It is built using the Qt toolkit and runs on Microsoft Windows and Linux, 32- and 64-bit x86 processors.

Wayland (display server protocol)

Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.

Nvidia Optimus is a computer GPU switching technology created by Nvidia which, depending on the resource load generated by client software applications, will seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware.

ANGLE is an open source, BSD-licensed graphics engine abstraction layer developed by Google. The API is mainly designed to bring high-performance OpenGL compatibility to Windows computers and to web browsers such as Chromium by translating OpenGL calls to Direct3D, which has much better driver support. There are two backend renderers for ANGLE: the oldest one uses Direct3D 9.0c, while the newer one uses Direct3D 11.

References

  1. Humphreys, Greg; Houston, Mike; Ng, Ren; Frank, Randall; Ahern, Sean; Kirchner, Peter; Klosowski, James (July 2002). "Chromium: A Stream-Processing Framework for Interactive Rendering on Clusters" (PDF). Written at San Diego. Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '02. New York: Association for Computing Machinery. pp. 693–702. doi:10.1145/566570.566639. ISBN   1581135211 . Retrieved 12 September 2020.