Efficient rasterization of specular lighting in a computer...

Computer graphics processing and selective visual display system – Computer graphics processing – Three-dimension

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06707453

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to graphics systems and, more particularly, to rasterization of a graphics primitive in a computer graphics system.
2. Related Art
Computer graphics systems are commonly used for displaying two- and three-dimensional graphical representations of objects on a two-dimensional video display screen. Current computer graphics systems provide highly detailed representations and are used in a variety of applications.
In a typical computer graphics system an object, or model, to be presented on the display screen is decomposed into graphics primitives. Primitives are basic components of a graphics display and include, for example, points, lines, triangles, quadrilaterals and polygons. Typically, a hardware/software scheme is implemented to render, or draw, the graphics primitives that represent a view of one or more objects being presented on the display screen.
Generally, a host computer defines primitives of a three-dimensional model in terms of primitive data. Typically, primitive data includes, but is not necessarily limited to, the X, Y, Z, and W coordinates of the primitive's vertices, as well as the red, green, blue, and alpha (R, G, B, A) color values of each vertex of the primitive. Rendering hardware processes the primitive data to compute the display screen pixels that represent each primitive, and the color values for each pixel.
The basic components of a computer graphics system typically include a host computer and graphics hardware. The host computer executes a graphics application program that controls the graphics hardware, commonly through an application program interface (API). The API receives commands from the graphics application program and provides primitive data to the graphics hardware. The graphics hardware typically includes one or more geometry accelerators, a rasterizer, a frame buffer and, oftentimes, a texture mapper. The geometry accelerator receives primitive data from the host computer and performs operations such as coordinate transformations and lighting, clipping, and plane equation calculations for each primitive. The geometry accelerator generates rendering data that is used by the rasterizer and the texture mapper to generate final screen coordinates and color data for each pixel in each primitive.
Texture mapping permits objects to be displayed with improved surface detail. Texture mapping maps a source image, referred to as a texture, onto the surface of a three-dimensional object, and thereafter projects the textured three-dimensional object to the two-dimensional graphics display screen. Texture mapping involves applying one or more texture elements (texels) of a texture to each picture element (pixels) of the displayed portion of the object to which the texture is being mapped. Texture mappers typically include a local memory cache that stores texture mapping data associated with the portion of the object being rendered. The pixel data from the rasterizer and the texel data from the texture mapper are combined by the rasterizer and stored in the frame buffer by a frame buffer controller for display on a display screen.
Graphics systems typically model the effects of one or more light sources on three-dimensional objects when they are rendered. The ultimate color of a three-dimensional object is dependent on the quantity and characteristics of light shining on the object. Typically, the color of a light source is characterized by the quantity of red, green, and blue light it emits. Additional requirements are often necessary to provide an accurate lighting effect in a rendered image. In OpenGL, for example, a light source has an effect only when a surface reflects the light emitted by the light source. Each surface of an object is composed of a material having various properties. The material properties define the percentage of received red, green and blue light components that is reflected by the surface in various directions. The material properties of a surface thereby influence the effect that light striking the surface will have and, as a result, influence the colors used to render pixels representing the object surface.
Generally, four independent types of lighting are offered in conventional graphics systems. They are commonly referred to as diffuse, specular, emissive and ambient light. Diffuse light is light that comes from one direction. Diffuse light is brighter when it comes squarely down on a surface than when it barely glances off the surface. Once diffuse light hits a surface, however, it is scattered equally in all directions, appearing to be equally bright no matter where the viewer's eye is located. Any light coming from a particular position or direction typically has a diffuse component. Specular light comes from a particular direction, and tends to bounce off a surface in a preferred direction. For example, a well-collimated laser beam reflected by a high-quality mirror produces almost 100 percent specular reflection in a specific direction. Shiny metal and plastic have a high specular component while chalk or carpet have almost none. Emissive light is light that is emitted by a material such as headlights on an automobile. Ambient light is light that has been scattered so much by the environment that its direction cannot be determined; that is, it seems to come from all directions. Traditionally, the red, green, and blue values for each type of lighting effect are determined and managed separately by the graphics application.
A common concern in the design of graphics systems is the size and cost of circuitry implemented in the rasterizer. Generally, a rasterizer converts each primitive into fragments by scan converting the vertex definitions of the primitive components to corresponding values at each pixel rendering the primitive. Each fragment includes a quantity of related data defining a pixel in the rendered image. Traditional graphics systems attempt to conserve circuitry and memory by combining certain components prior to rasterization. Commonly, two such components are the diffuse and specular lighting components. These two components are combined into a single, combined diffuse/specular lighting value that is subsequently rasterized. The final color value of a fragment is based on the product of the texture mapping component and this combined lighting component.
The inventors of the present application have observed drawbacks to this approach. One such drawback is that the reflectivity of a surface is scaled by the intensity of the surface texture. That is, the intensity of the texture determines not only the ultimate color value of a pixel, but also the effect of the specular lighting component on that surface. This approach does not produce accurate results for pixels having very low intensity values. Specifically, when traditional rasterizers produce pixels having minimal or no intensity value (for example, pixels with a black texture), the pixels are rendered black regardless of the value of the original specular lighting component. In other words, this approach fails to display dark surfaces as shiny or reflective even when the light impinging on that surface has a significant specular lighting component. This inability to render such surfaces reduces the realism of certain images.
SUMMARY OF THE INVENTION
The present invention is directed to a rasterizer and associated methodology that overcome the above and/or other drawbacks of conventional rasterization and graphics processing approaches. The invention implements a single edge stepping interpolator to interpolate both diffuse and specular lighting components across an edge of the primitive, and/or a single span stepping interpolator to interpolate both diffuse and specular lighting components across the spans of the primitive. When the edge or span being interpolated includes a non-negligible specular lighting component, the diffuse and specular lighting components are separately and successively rasterized. Otherwise, only the diffuse lighting com

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Efficient rasterization of specular lighting in a computer... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Efficient rasterization of specular lighting in a computer..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Efficient rasterization of specular lighting in a computer... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3185350

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.