Pipelined lighting model processing system for a graphics workstation's shading function
First Claim
1. Apparatus for processing lighting model information in order to display a shaded image of an object upon a viewing screen of a computer graphics display system, wherein an object is represented in viewing space by a mesh polygons, each polygon being defined by a set of vertices with the location of each of said vertices in viewing space being known, the apparatus comprising:
- a pipeline arrangement of multiple, identical floating point processors, which arrangement receives data representing coordinates in viewing space of vertices of a polygon and a normal at each of the vertices of the polygon, and calculates therefrom coordinates on the viewing screen of the vertices, and screen color intensity values associated with each of said vertices based upon a specified model;
wherein said pipeline arrangement comprises;
at least one processor for calculating for each of said vertices a first set of color intensity values due to ambient lighting and diffuse and specular reflection effects;
a second processor for receiving and processing said first set of color intensity values to provide for depth cueing, color mapping and color clipping; and
a third processor for performing a projection transformation and for mapping the coordinates of each of the vertices from viewing space to screen space.
1 Assignment
0 Petitions
Accused Products
Abstract
A lighting model processing system for a computer graphics workstation'"'"'s shading function includes multiple floating point processing stages arranged and operated in pipeline. Each stage is constructed from one or more identical floating point processors. The lighting model processing system supports one or more light sources illuminating an object to be displayed, with parallel or perspective projection. Dynamic partitioning can be used to balance the computational workload among various of the processors in order to avoid a bottleneck in the pipeline. The high throughput of the pipeline system makes possible the rapid calculation and display of high quality shaded images.
210 Citations
27 Claims
-
1. Apparatus for processing lighting model information in order to display a shaded image of an object upon a viewing screen of a computer graphics display system, wherein an object is represented in viewing space by a mesh polygons, each polygon being defined by a set of vertices with the location of each of said vertices in viewing space being known, the apparatus comprising:
-
a pipeline arrangement of multiple, identical floating point processors, which arrangement receives data representing coordinates in viewing space of vertices of a polygon and a normal at each of the vertices of the polygon, and calculates therefrom coordinates on the viewing screen of the vertices, and screen color intensity values associated with each of said vertices based upon a specified model; wherein said pipeline arrangement comprises; at least one processor for calculating for each of said vertices a first set of color intensity values due to ambient lighting and diffuse and specular reflection effects; a second processor for receiving and processing said first set of color intensity values to provide for depth cueing, color mapping and color clipping; and a third processor for performing a projection transformation and for mapping the coordinates of each of the vertices from viewing space to screen space. - View Dependent Claims (2)
-
-
3. Apparatus for processing lighting model information representing a plurality of light sources in order to display a shaded image of an object on a viewing screen of a computer graphics display system, comprising:
multiple floating point processing stages for calculating screen vertex light intensity values due to ambient lighting of an object and surface reflection from said object, said stages being connected and operated in a pipeline arrangement. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A method of performing lighting model calculations in a computer graphics display system to derive screen vertex light intensity values, the method comprising the steps of:
-
providing multiple identical floating point processors capable of performing such lighting model calculations; connecting and operating said multiple processors in a pipeline arrangement; and partitioning the lighting model calculations among said multiple processors so as to substantially balance computational workload between said processors. - View Dependent Claims (15)
-
-
16. A method for processing a graphics object for display in a viewport on a graphics display monitor according to a lighting model considering light from one or more light sources, said processing serving to transform an object represented by a plurality of vertex coordinates and vectors normal to each of said vertices into an object represented by a plurality of vertex coordinates transformed to monitor screen coordinates and a light intensity value for each vertex in response to a graphics command, said method comprising the steps of:
-
performing for each vertex of said objects; calculating a first light intensity at a vertex from ambient light and diffuse reflection; calculating a second light intensity at a vertex from specular reflection; summing said first and second light intensities to give a vertex light intensity; transforming said vertex and vertex light intensity into viewport coordinates for display on said display monitor. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for transforming a graphics object represented by a plurality of vertex coordinates and vertex normals for display on a display monitor, wherein a viewer viewpoint and lighting conditions including one or more light sources with position and intensity are defined and wherein said transformation results in the display of said graphics object as it would appear from the viewpoint under the specified lighting conditions, said method comprising the steps of:
-
selecting a lighting model based on the number of light sources and the position of each light source; determining a first light intensity at a vertex due to ambient light and diffuse reflection, if only one light source exists; determining a second light intensity at a vertex due to specular reflection added to said first light intensity, if only one light source exists, said second determining step operation concurrently with said first determining step for a subsequent vertex; determining a first light intensity at a vertex due to ambient light, diffuse and specular reflection due to a first set of light sources, if more than one light source exists; determining a second light intensity at a vertex due to ambient light, diffuse and specular reflection due to a second set of light sources and added to said first light intensity if more than one light source exists, said second determining step operating concurrently with said first determining step for a subsequent vertex; transforming said vertex coordinates and light intensities to viewport coordinates for display on a display monitor; transforming said light intensities based upon a color map available for said display monitor; clipping said color intensity to a maximum allowed intensity value; and repeating said determining, transforming and clipping steps for all vertices in said graphics object. - View Dependent Claims (26, 27)
-
Specification