Browse Prior Art Database

Optimized Guard Band Clipping Algorithm

IP.com Disclosure Number: IPCOM000009811D
Publication Date: 2002-Sep-19
Document File: 5 page(s) / 118K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that uses a hybrid scheme to optimize guard band clipping by reducing the number of edges that need to be clipped. This method eliminates the need to compute a full set of guard band clip codes and improves overall performance.

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 39% of the total text.

Optimized Guard Band Clipping Algorithm

Disclosed is a method that uses a hybrid scheme to optimize guard band clipping by reducing the number of edges that need to be clipped. This method eliminates the need to compute a full set of guard band clip codes and improves overall performance.

Background

Three-dimensional graphics applications generate a view of the world with respect to an eye- view point. This view is converted to screen space by “clipping” the world view with a 3D frustum, similar to a camera capturing only a subset of the real world. The geometry in 3D space, which consists of triangles and lines, can straddle the screen boundary. The straddling geometry is typically clipped to the screen before sending it to graphics hardware for rasterization. Since the clipping process is uses a large amount of computer resources, the graphics driver can minimize the clipping cost by letting the hardware clip the geometry that lies within a certain “guard band”. The graphics driver clips geometry that protrudes outside this guard band. The geometry is typically clipped to the guard band instead of the screen boundary in order to avoid cracks in the rendered scene.

Figure 1 shows a triangle ABC that lies outside the screen space. This triangle is typically clipped to triangle ADE before sending it to graphics hardware. If the triangle were not clipped, the parts of the triangle denoted by DECB (when rasterized by the graphics hardware) could generate spurious pixels, or cause the system to “hang” since the graphics hardware may be trying to generate pixels that are physically not present.

A vertex of this triangle not only has the screen space (x,y) coordinates, but it also has associated parameters such as color (r,g,b,a), fog, and texture coordinates. With the addition of multi-texturing to graphics hardware, the vertex may have multiple sets of texture coordinates. When the triangle edge AB is clipped to the screen space, the graphics driver not only computes the intersection of edge AB with the screen space to determine vertex “D”, it also has to compute all the associated parameters. This can reduce the performance of the overall graphics driver. The computational costs associated with triangles such as ABC can be reduced by supporting per pixel scissoring in hardware. The graphics hardware can process the clipped triangles as usual, but must perform a screen space scissor check for all the generated pixels. In this example, the pixels generated by the graphics hardware that belong to the region DECB are automatically discarded by the graphics hardware. Unfortunately, the graphics hardware has a limited precision for interpolating the associated triangle parameters, such as color, texture coordinates, etc. Therefore, if the triangle is extremely big, the values for color, textures etc. generated by the graphics hardware for the triangle region AED are incorrect.

In Figure 2, the triangle XYZ intersects the screen boundar...