← Back to Patent Explorer
US4866637A Expired / Lapsed US ⏱️ 0.0 years remaining

Pipelined lighting model processing system for a graphics workstation's shading function

Assignee: International Business Machines Corp
•
Filing: 1987-10-30
•
Granted: 1989-09-12
•
Expires: 2007-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Jorge Gonzalez-Lopez
  • 👤 Bruce C. Hempel
  • 👤 Bob C. Liang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 16:05
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/50; G06T15/506

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 206 words
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.
Claim 2
Dependent Claim 206 words
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.
Claim 3
Dependent Claim 38 words
The apparatus of claim 1 further comprising partitioning means for dynamically allocating computational tasks among various of the processors in accordance with different lighting models, in a fashion designed to maintain computational workload balance between said various processors.
Claim 4
Dependent Claim 68 words
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.
Claim 5
Dependent Claim 68 words
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.
Claim 6
Dependent Claim 17 words
The apparatus of claim 3 wherein each of said processing elements comprises a single identical VLSI chip.
Claim 7
Dependent Claim 127 words
The apparatus of claim 3 wherein each processing element comprises: an input FIFO, an output FIFO, floating point arithmetic processing means connected between said input FIFO and output FIFO, data storage means for interfacing with said arithmetic processing means, control logic and control program storage means, and sequencer means for controlling the operation of said arithmetic processing means and data storage means in accordance with said control logic and control program; and wherein: said data storage means comprises a bank of registers for storing data; and said arithmetic processing means comprises a floating point multiplier, means for calculating inverses and square roots, and a floating point adder, the adder being connected to said multiplier in such a way as to serve as an accumulator for the multiplier.
Claim 8
Dependent Claim 23 words
The apparatus of claim 3 wherein at least one of said processing stages comprises a plurality of said processing elements connected in parallel.
Claim 9
Dependent Claim 65 words
The apparatus of claim 3 wherein said pipeline arrangement of multiple processing stages comprises: first and second processing stages for jointly calculating vertex intensity values due to ambient light and diffuse and specular reflection; and a third processing stage for receiving the intensity values jointly calculated by said first and second processing stages and for further processing said intensity values to provide for depth cueing.
Claim 10
Dependent Claim 18 words
The apparatus of claim 7 further comprising a fourth processing stage for mapping vertices onto a viewing screen.
Claim 11
Dependent Claim 20 words
The apparatus of claim 8 wherein said third processing stage further comprises means for performing color mapping and color clipping.
Claim 12
Dependent Claim 51 words
The apparatus of claim 8 wherein said first and second processing stages are selectively programmable to accommodate a single light source model and a multiple light source model, with the intensity value calculations being partitioned so as to maintain a computational work load balance between said first and second processing stages.
Claim 13
Dependent Claim 42 words
The apparatus of claim 10 wherein the first processing stage calculates ambient lighting and diffuse reflection effects, and the second processing stage calculates specular reflection effects when said first and second processing stages are programmed to accommodate a single light source model.
Claim 14
Dependent Claim 57 words
The apparatus of claim 11 wherein said first processing stage calculates ambient lighting and diffuse and specular reflection effects for odd light sources, and the second processing stage calculates ambient lighting, and diffuse and specular reflection effects for even light sources when said first and second processing stages are programmed to accommodate a multiple light source model.
Claim 15
Dependent Claim 66 words
The apparatus of claim 4 in combination with: shading processing means for receiving and processing said screen vertex light intensity values to calculate light intensities of pixels interior to a visible objects; video pixel memory means connected to said shading processing means for storing light intensity information; and display monitor means connected to said video pixel memory means for displaying a shaded image of said object.
Claim 16
Independent Claim 69 words
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.
Claim 17
Independent Claim 69 words
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.
Claim 18
Dependent Claim 38 words
The method of claim 14 wherein said partitioning step comprises dynamically partitioning the lighting model calculations in a fashion designed to maintain substantial computational workload balance between said processors irrespective of the number of light sources being modeled.
Claim 19
Independent Claim 148 words
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.
Claim 20
Independent Claim 148 words
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.
Claim 21
Dependent Claim 66 words
The method according to claim 16 further comprising the steps of: determining a viewpoint coordinate; modifying said vertex light intensity as a function of the distance between said viewpoint and said vertex; transforming said vertex light intensity to a representation capable of display on said display monitor; transforming said vertex light intensity representation so it will not exceed the maximum intensity displayable on said display monitor.
Claim 22
Dependent Claim 39 words
The method according to claim 16, wherein said processing is accomplished by a plurality of processors and wherein said method includes an initial step of: allocating processor resources for light intensity calculation depending upon the number of light sources.
Claim 23
Dependent Claim 98 words
The method of claim 18, wherein said allocating step comprises: allocating a first processor to calculate said first light intensity and a second processor to calculate said second light intensity and to sum said first and second light intensities where only the light source is present; and allocating a first processor to calculate said first and second light intensities and to sum said light intensities for a first set of light sources and allocating a second processor to perform the calculating and summing for a second set of light sources where more than one light source is present.
Claim 24
Dependent Claim 30 words
The method of claim 19 wherein said first set of light sources includes all odd numbered light sources and said second set of light sources includes all even numbered sources.
Claim 25
Dependent Claim 23 words
The method of claim 18 wherein said calculating steps of said first processor occur concurrently with the calculating steps of said second processor.
Claim 26
Dependent Claim 49 words
The method of claim 21 further comprising the steps of: allocating processor resources for mapping said vertex and vertex light intensity to said viewpoint on said display monitor; allocating processor resources for modifying said vertex color intensity to provide depth cueing and to map and clip the color intensity.
Claim 27
Dependent Claim 17 words
The method of claim 18, wherein said calculating and summing steps are performed for each color component.
Claim 28
Dependent Claim 19 words
The method of claim 23, wherein said calculating and summing steps are performed in parallel for each color component.
Claim 29
Independent Claim 289 words
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.
Claim 30
Independent Claim 289 words
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.
Claim 31
Dependent Claim 20 words
The method of claim 25 wherein said determining steps are performed concurrently for each of a plurality of light components.
Claim 32
Dependent Claim 14 words
The method of claim 26 wherein said color components comprise red, green and blue.

References Cited (Backward Citations)

US4361850A Cited
US4241341A Cited
US4646075A Cited
US4658247A Cited
US4709231A Cited
US4737921A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-09-11 1993-03-13 1993-09-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-09-11 1997-03-13 1997-09-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-09-11 2001-03-13 2001-09-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag