Field of the Invention
The present invention is directed to computer systems; and more particularly, it is directed to rendering of digital images.
Description of the Related Art
Digital images may include raster graphics, vector graphics, or a combination thereof. Raster graphics data (also referred to herein as bitmaps) may be stored and manipulated as a grid of individual picture elements called pixels. A bitmap may be characterized by its width and height in pixels and also by the number of bits per pixel. Commonly, a color bitmap defined in the RGB (red, green blue) color space may comprise between one and eight bits per pixel for each of the red, green, and blue channels. An alpha channel may be used to store additional data such as per-pixel transparency values. Vector graphics data may be stored and manipulated as one or more geometric objects built with geometric primitives. The geometric primitives (e.g., points, lines, polygons, Bézier curves, and text characters) may be based upon mathematical equations to represent parts of digital images.
Digital image rendering is the process of generating digital images using a computing device, e.g., a computer system. Using specialized software programs and appropriate graphics hardware, complex digital images may be generated and displayed. In rendering a complex image or scene (i.e., a scene containing many elements), many image buffers may be used for temporary storage of elements of the scene. When effects such as reflection, refraction, and shadows are used in a scene, dependencies may be created between the buffers. Using prior approaches, developers have manually analyzed the dependencies and hard-coded the rendering order. However, such tasks may be burdensome to developers and may also be prone to errors and insufficient performance.