Advanced video object generator
First Claim
Patent Images
1. An advanced object generator comprising:
- data memory means for storing cell-by-cell data for each of a plurality of faces of a plurality of three-dimensional objects, said cell data including data stored for each three-dimensional object on a plurality of planes, said planes being arranged in such a manner as to respectively present a plurality of viewing angles relative to a given view point;
vector processing means for calculating object transformations that translate operator inputs into image orientation control signals and for calculating pixel-by-pixel image data;
means for receiving image data from said vector processing means for selecting image data projected from selected ones of said plurality of planes for processing or video display;
edge-on fading factor processing means for calculating an edge-on fading factor for each face of said plurality of faces for each three-dimensional object to be displayed, each of said plurality of planes comprising a plurality of planes intersecting along a line within a respective object and said means for calculating an edge-on fading factor comprising;
means for calculating a viewing angle between a viewray extending from said given viewpoint to an object being displayed and the respective planes of the object being displayed, andtranslucency threshold calculation means for providing a multiplier for each respective plane of a three-dimensional object, said multiplier being indicative of the size of said respective viewing angle for each plane of each object to be displayed;
span processing means responsive to said edge-on fading factor processing means for calculating a fading factor percentage value based on the calculated edge-on fading factor for each face of said plurality of faces for each three-dimensional object of pixel-by-pixel display data;
video monitor means for displaying images of said objects comprising pixel-by-pixel displays of said display data; and
wherein said translucency threshold calculation means comprises;
means for receiving viewing angle data for each respective face of an object from said means for calculating a viewing angle;
means for comparing each said respective viewing angle with a predetermined minimum angle and a predetermined maximum angle;
means for calculating a translucency coefficient for each said respective face when said viewing angle is between said minimum and said maximum viewing angles;
means for making each said respective face completely transparent when said viewing angle is less than said minimum viewing angle; and
means for supplying said respective translucency coefficient to said span processing means.
4 Assignments
0 Petitions
Reexaminations
Accused Products
Abstract
A computer video image generating system including a computer memory having three dimensional object data stored therein employs an advanced object generator for retrieving and processing the object data for output to a span processor for controlling the pixel-by-pixel video output signal for a video display. The advanced object generator includes a translucency processor, an edge-on fading processor, a level of detail blending processor and a bilinear interpolator for texture smoothing.
-
Citations
33 Claims
-
1. An advanced object generator comprising:
-
data memory means for storing cell-by-cell data for each of a plurality of faces of a plurality of three-dimensional objects, said cell data including data stored for each three-dimensional object on a plurality of planes, said planes being arranged in such a manner as to respectively present a plurality of viewing angles relative to a given view point; vector processing means for calculating object transformations that translate operator inputs into image orientation control signals and for calculating pixel-by-pixel image data; means for receiving image data from said vector processing means for selecting image data projected from selected ones of said plurality of planes for processing or video display; edge-on fading factor processing means for calculating an edge-on fading factor for each face of said plurality of faces for each three-dimensional object to be displayed, each of said plurality of planes comprising a plurality of planes intersecting along a line within a respective object and said means for calculating an edge-on fading factor comprising; means for calculating a viewing angle between a viewray extending from said given viewpoint to an object being displayed and the respective planes of the object being displayed, and translucency threshold calculation means for providing a multiplier for each respective plane of a three-dimensional object, said multiplier being indicative of the size of said respective viewing angle for each plane of each object to be displayed; span processing means responsive to said edge-on fading factor processing means for calculating a fading factor percentage value based on the calculated edge-on fading factor for each face of said plurality of faces for each three-dimensional object of pixel-by-pixel display data; video monitor means for displaying images of said objects comprising pixel-by-pixel displays of said display data; and
wherein said translucency threshold calculation means comprises;means for receiving viewing angle data for each respective face of an object from said means for calculating a viewing angle; means for comparing each said respective viewing angle with a predetermined minimum angle and a predetermined maximum angle; means for calculating a translucency coefficient for each said respective face when said viewing angle is between said minimum and said maximum viewing angles; means for making each said respective face completely transparent when said viewing angle is less than said minimum viewing angle; and means for supplying said respective translucency coefficient to said span processing means. - View Dependent Claims (2)
-
-
3. An advanced object generator comprising:
-
object data memory means for storing cell-by-cell data for a plurality of levels of detail of a plurality of a plurality of faces of a plurality of three-dimensional objects for retrieval and processing for video display of such objects; vector processing means for translating operator inputs into image orientation control signals for calculating pixel-by-pixel display data; first level of detail calculation means for calculating address data to retrieve from said object data memory means data for a first level of detail for each object image to be processed for video display, said first level of detail calculation means comprising; means for calculating cell image size of each cell of a scene to be displayed; means for comparing said cell image size to a previously calculated pixel dimension in order to determine which levels of detail to process; means for accessing a first computer memory look-up table having previously determined level of detail data stored therein; second level of detail calculation means for calculating address data to retrieve from said object data memory means data for a second level of detail for each object image to be processed for video display, said second level of detail calculation means comprising; means for accessing a second computer memory look-up table having previously determined level of detail data stored therein; means for outputting cell data previously stored in computer map memory means for each of said first and second levels of detail for each object to be displayed, level of detail blending means for combining the data for said first level of detail and the data for said second level of detail into a single level of detail output for each pixel of an image of an object, wherein said level of blending means comprises; means for receiving as inputs gradients of image patterns upon each face image of a three-dimensional object; means for receiving as inputs gradients of image patterns upon each face image of a three-dimensional object; means for comparing said gradients with a predetermined maximum gradient for each of two dimensions; means for comparing said gradients with predetermined values of said gradients to determine said higher level of detail; means for calculating a level of detail blend control value; means for calculating the one'"'"'s complement of said level of detail blend control output; means for multiplying said level of detail blend control value by said cell data for said first level of detail to generate a first product output; means for multiplying said one'"'"'s complement of said blend control value by said cell data for said second level of detail to generate a second product output; summing means for adding the first product output to the second product output to produce a single modulation value output for each pixel of an image; span processing means for translating said level of detail output into pixel-by-pixel display data; and video monitor means for displaying a plurality of images of objects comprising pixel-by-pixel displays of said display data. - View Dependent Claims (4)
-
-
5. An advanced object generator comprising:
-
data memory means for storing cell-by-cell object data for each of one or more faces of a plurality of objects for retrieval and processing for video display of such objects; vector processing means for calculating object transformations that translate operator inputs into image orientation control signals and for calculating pixel-by-pixel image data; cell texture address means for determining a memory location to be accessed for retrieval of cell texture data from said data memory means for display, said cell texture address comprising; first and second floating point dual multiplying and summing means for calculating a first numerator and a second numerator needed for calculating object location coefficients for each object face to be displayed; floating point dual summing and multiplying means for calculating a denominator common to both said coefficients; means for calculating the reciprocal of said demoninator; means for multiplying said denominator reciprocal by said first numerator and said second numerator and for adding to the resulting products reference values of said respective first and second numerators to obtain addresses on an object face corresponding to a span corner; vertical interpolator means for calculating intermediate address parameters of image texture data of image elements disposed in one dimension between points located at addresses output by said floating point dual summing and multiplying means and for accessing texture data of predetermined columns of pixels on a span of said video display; horizontal interpolator means for calculating intermediate address parameters of image texture data of image elements disposed in a second dimension on lines between points on first and second ones of said columns of pixels; cell texture output means for outputting said cell texture data; and span processing means for translating said cell texture data into pixel-by-pixel displays of said display data, - View Dependent Claims (6, 7, 8, 9)
-
-
10. An advanced object generator for providing computer generated image control signals for real-time display comprising:
-
data memory means for storing cell-by-cell data for a plurality of levels of detail for a plurality of faces of a plurality of three-dimensional objects for retrieval and computer processing for video display of such objects;
said cell data including data stored for each three-dimensional object on a plurality of planes;
said planes being arranged in such manner as to respectively present a plurality of viewing angles to a given viewpoint;vector processing means for calculating object transformations that translate operator inputs into image orientation control signals and for calculating valid pixel-by-pixel image data; translucency code storage means for storing predetermined translucency factors for selected cells of the object faces; translucency code processing means for calculating translucency factors on a pixel-by-pixel basis for said selected cells of an object; means for receiving image data from said vector processing means for selecting image data projected from selected ones of said plurality of planes for processing for video display; means for calculating an edge-on fading factor for each face of said plurality of faces for each three-dimensional object to be displayed; first level of detail calculation means for calculating address data to retrieve from said object data memory means data for a first level of detail for each object image to be processed for video display; second level of detail calculation means for calculating address data to retrieve from said object data memory means data for a second level of detail for each object image to be processed for video display; level of detail blending means for combining the data for said first level of detail with the data for said second level of detail into a single level of detail output for each pixel of a video image of an object; bilinear interpolation means for calculating pixel-by-pixel address data for each span to be processed; cell texture address means for determining a memory location in said data memory means to be accessed for retrieval of cell texture data; output means for outputting pixel-by-pixel image control data; span processing means for receiving said pixel-by-pixel image control data and translating said image control data into pixel-by-pixel display data; and video monitor means for displaying a plurality of images of objects comprising pixel-by-pixel displays of said display data. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. In a computer image generating system for generating an image of an object from stored data by color intensity control of a plurality of pixels forming the image of the object, the color intensity for each pixel being derived from a plurality of cells each having a predetermined color intensity value and a predetermined center position, and further a grouping of cells defining a texture pattern formed on a surface of the object, a method for determining color intensity for the plurality of pixels while obtaining smooth transitions between cell boundaries, the method comprising the steps of:
-
(a) defining a location of a pixel to be displayed; (b) identifying the cells about a projection of the pixel whose centers define the corners of a polygon containing the center of the projection of the pixel; (c) determining the location of the projection of the pixel center with respect to each cell identified in step (b); (d) forming a weighted average value of color intensity for the pixel as a function of each cell color intensity value for cells identified in step (b) and the respective location determined in step (c); and (e) providing the weighted average value determined in step (d) for color intensity control of the pixel. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification