Browse Prior Art Database

Hardware Accelerated Rendering of Bitmaps With Per Pixel Fragment Operations

IP.com Disclosure Number: IPCOM000009705D
Publication Date: 2002-Sep-11
Document File: 3 page(s) / 74K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that uses standard 3D graphics hardware to accelerate the rendering of bitmaps without relying on a software rasterizer. Benefits include improving the raw performance of the bitmap primitive and the performance of the graphics driver.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Hardware Accelerated Rendering of Bitmaps With Per Pixel Fragment Operations

Disclosed is a method that uses standard 3D graphics hardware to accelerate the rendering of bitmaps without relying on a software rasterizer. Benefits include improving the raw performance of the bitmap primitive and the performance of the graphics driver.

Background

Bitmaps are image primitives, where each bit in the source data represents the destination pixel data. In the most common usage, each data bit is expanded into a destination color, and the hardware does not optimize bitmap rendering with a full set of fragment operations. However, in 3D graphics API, bitmaps are expected to have a full set of attributes (i.e. a bitmap is expected to be fogged, textured, and alpha-blended before writing out the destination pixel data).

Most existing implementations of bitmap rendering with fragment operations use software rasterization, where the software is responsible for processing each fragment. This adversely affects performance because the graphics hardware must remain idle while software and hardware rasterization is synchronized. Additionally, the fragment pipeline can contain pixel shaders which are added to the graphics hardware; this requires the software to implement the complete pixel shader pipeline in order to implement the API specification correctly.

General Description

Typically, bitmaps are rendered with “1” expanded to a foreground color, and “0” either not drawn or drawn with a background color (see Figure 1). In this example, a bitmap is able to represent the letter “F” with only 20 bits of information. This model is very common for 2D rendering and is supported by most graphics hardware.

In the disclosed method, the bitmap can be rendered with more options. The bitmap can derive its color from a texture map lookup, or can undergo fogging; these operations are typically not supported in the graphics hardware for bitmap primitives. In these complex rendering situations, the disclosed method treats each bit in the bitmap as a “fragment” (with an x,y position, a fog value, a set of texture coordinates, a depth position etc.). This fragment is the same as fragments generated from a scan; each fragment is processed to generate a final pixel on the screen. However, unlike the fragments generated from scan, all the fragments in a bitmap have exactly the same fragment data, except a “1” represents a fragment that needs to be p...