Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
354 words
A method for rendering an image in smoothly shaded, anti-aliased, three dimensional triangles into a frame buffer using a plurality of pixel processors organized in a SIMD architecture said method being performed in a video display system including a host processor, a coordinate processor, wherein said frame buffer stores video data for display on a display monitor, said method comprising a parallel procedure operable simultaneously in all of said pixel processors wherein there are M×N processors where M and N are greater than one, rendering M×N contiguous pixels of video data into said frame buffer comprising the steps of: 1) accessing from the coordinate processor data about a triangle being rendered including rate of change of distances in both an x and y direction relative to three sides of the triangle across the display, rate of change of color intensity values across the display and bevel widths for the three sides of the triangle which define regions in which anti-aliasing is to be performed, 2) determining if all constituent blocks in a bounding box have been evaluated and, if not, 3) accessing from the coordinate processor computed distance values to each of three sides of the triangle from an origin of said M×N array and color intensity values at the origin of said M×N array, 4) indexing said distance and color data accessed in Step (3), for a particular pixel in said M×N array being processed by a particular processor, 5) computing anti-aliasing factor (a) for a particular pixel being rendered, 6) computing shaded color values (rr,gg,bb) for said particular pixel being shaded using data indexed in step (4), 7) accessing current color values (ro,go,bo) of said particular pixel from the frame buffer, 8) calculating new color values, (m,gn,bn) for said particular pixel being rendered using the computed anti-aliasing factor (a), the shaded color values (rr,gg,bb) and the current color values (ro,go,bo), 9) storing these new color values (m,gn,bn) in the frame buffer for access by the display monitor, 10) returning to step (2), 11) if it is determined that all constituent blocks in a bounding block have been evaluated returning to step (1).
Claim 2
Independent Claim
354 words
A method for rendering an image in smoothly shaded, anti-aliased, three dimensional triangles into a frame buffer using a plurality of pixel processors organized in a SIMD architecture said method being performed in a video display system including a host processor, a coordinate processor, wherein said frame buffer stores video data for display on a display monitor, said method comprising a parallel procedure operable simultaneously in all of said pixel processors wherein there are M×N processors where M and N are greater than one, rendering M×N contiguous pixels of video data into said frame buffer comprising the steps of: 1) accessing from the coordinate processor data about a triangle being rendered including rate of change of distances in both an x and y direction relative to three sides of the triangle across the display, rate of change of color intensity values across the display and bevel widths for the three sides of the triangle which define regions in which anti-aliasing is to be performed, 2) determining if all constituent blocks in a bounding box have been evaluated and, if not, 3) accessing from the coordinate processor computed distance values to each of three sides of the triangle from an origin of said M×N array and color intensity values at the origin of said M×N array, 4) indexing said distance and color data accessed in Step (3), for a particular pixel in said M×N array being processed by a particular processor, 5) computing anti-aliasing factor (a) for a particular pixel being rendered, 6) computing shaded color values (rr,gg,bb) for said particular pixel being shaded using data indexed in step (4), 7) accessing current color values (ro,go,bo) of said particular pixel from the frame buffer, 8) calculating new color values, (m,gn,bn) for said particular pixel being rendered using the computed anti-aliasing factor (a), the shaded color values (rr,gg,bb) and the current color values (ro,go,bo), 9) storing these new color values (m,gn,bn) in the frame buffer for access by the display monitor, 10) returning to step (2), 11) if it is determined that all constituent blocks in a bounding block have been evaluated returning to step (1).
Claim 3
Dependent Claim
119 words
An improved method for rendering shaded anti-aliased three-dimensional color triangles into a frame buffer as set forth in claim 1 wherein the step of computing the anti-aliasing factor (a) comprises, the steps of: 1) determining a distance (ddk) of a pixel from each of three edges of the triangle, 2) determining an anti-aliasing factor (ak) relative to each edge of the triangle wherein (ak)=0 if a pixel is totally outside of the triangle, (ak)=1 if a pixel is totally within the triangle, and ##EQU4## if the pixel lies within a bevel with a width wk for any edge and 3) selecting as the anti-aliasing value (a) for a particular pixel, the minimum value of (ak) calculated in step 2).
Claim 4
Dependent Claim
73 words
An improved method for rendering shaded anti-aliased three-dimensional color triangles into a frame buffer as set forth in claim 1 wherein the step of calculating the new color values (rn, bn, gn) for a pixel comprises calculating for each color (r, g, b) the following functions: rn=a*rr+(1-a)*ro gn=a*gg+(1-a)*go bn=a*bb+(1-a)*bo wherein: * implies multiplication rr, gg, bb are the calculated shaded values, ro, go, bo are old color values stored in the frame buffer.
Claim 5
Dependent Claim
98 words
An improved method for rendering shaded anti-aliased three- dimensional color triangles into a frame buffer as set forth in claim 1 wherein the step of computing the shaded color values (rr, gg, bb) for a particular pixel comprises calculating for each color the following functions: rr=r+i*rx+j*ry gg=g+i*gx+j*gy bb=b+i*bx+j*by wherein: * implies multiplication rx, ry, gx, gy, bx, by are rate of change of color, i and j are indices for the pixel relative to the origin of the constituent block, r, g, b, are computed intensity values from the coordinate processor at the origin of a constituent block.
Claim 6
Independent Claim
375 words
A method for rendering smoothly shaded, anti-aliased, three dimensional triangles into a frame buffer using a plurality processors organized in a SIMD architecture said method being performed in a video display system including a host processor, a coordinate processor, wherein said frame buffer stores video data for display on a display monitor, said method comprising a parallel procedure operable simultaneously in all of said pixel processors wherein there is an M×N array of such processors where M and N are greater than one, thereby rendering M×N contiguous pixels of video data into said frame buffer comprising the steps of: 1) accessing from the coordinate processor data about a triangle being rendered including rate of change of distances in both an x and a y direction relative to three sides of the triangle across the display, rate of change of color intensity values across the display, bevel widths for the three sides of the triangle which define regions in which anti-aliasing is to be performed, distances in both the x and y directions to each of the three sides of the triangle from a bounding box origin and color intensity values at the bounding box origin, 2) determining if all constituent blocks in a bounding box have been evaluated and if not, 3) accessing from the coordinate processor index values locating an origin for a constituent block that has not been evaluated, 4) indexing distance and color data from data accessed in steps (1) and (3) for a particular pixel in said M×N array being processed by a particular processor, 5) computing anti-aliasing factor (a) for said particular pixel being rendered, 6) computing shaded color values (rr,gg,bb) for said particular pixel being shaded from data indexed in step 4, 7) accessing current color values (ro,go,bo) of said particular pixel from the frame buffer, 8) calculating new color values, (rn,gn,bn) for said particular pixel being rendered using the computed anti-aliasing factor (a), the shaded color values (rr,gg,bb) and the current color values (ro,go,bo), 9) storing these new color values (m,gn,bn) in the frame buffer for access by the display monitor, 10) returning to step (2), 11) if it is determined that all of the constituent blocks in a bounding box have been evaluated, returning to step (1).
Claim 7
Independent Claim
375 words
A method for rendering smoothly shaded, anti-aliased, three dimensional triangles into a frame buffer using a plurality processors organized in a SIMD architecture said method being performed in a video display system including a host processor, a coordinate processor, wherein said frame buffer stores video data for display on a display monitor, said method comprising a parallel procedure operable simultaneously in all of said pixel processors wherein there is an M×N array of such processors where M and N are greater than one, thereby rendering M×N contiguous pixels of video data into said frame buffer comprising the steps of: 1) accessing from the coordinate processor data about a triangle being rendered including rate of change of distances in both an x and a y direction relative to three sides of the triangle across the display, rate of change of color intensity values across the display, bevel widths for the three sides of the triangle which define regions in which anti-aliasing is to be performed, distances in both the x and y directions to each of the three sides of the triangle from a bounding box origin and color intensity values at the bounding box origin, 2) determining if all constituent blocks in a bounding box have been evaluated and if not, 3) accessing from the coordinate processor index values locating an origin for a constituent block that has not been evaluated, 4) indexing distance and color data from data accessed in steps (1) and (3) for a particular pixel in said M×N array being processed by a particular processor, 5) computing anti-aliasing factor (a) for said particular pixel being rendered, 6) computing shaded color values (rr,gg,bb) for said particular pixel being shaded from data indexed in step 4, 7) accessing current color values (ro,go,bo) of said particular pixel from the frame buffer, 8) calculating new color values, (rn,gn,bn) for said particular pixel being rendered using the computed anti-aliasing factor (a), the shaded color values (rr,gg,bb) and the current color values (ro,go,bo), 9) storing these new color values (m,gn,bn) in the frame buffer for access by the display monitor, 10) returning to step (2), 11) if it is determined that all of the constituent blocks in a bounding box have been evaluated, returning to step (1).
Claim 8
Dependent Claim
119 words
An improved method for rendering shaded anti-aliased three-dimensional color triangles into a frame buffer as set forth in claim 5 wherein the step of computing the anti-aliasing factor (a) comprises the steps of: 1) determining a distance (ddk) of a pixel from each of three edges of the triangle, 2. determining an anti-aliasing factor (ak) relative to each edge of the triangle wherein (ak)=0 if a pixel is totally outside of the triangle, (ak)=1 if a pixel is totally within the triangle, and ##EQU5## if the pixel lies within a bevel with a width wk for any edge and 3) selecting as the anti-aliasing value (a) for a particular pixel, the minimum value of (ak) calculated in step 2.
Claim 9
Dependent Claim
73 words
An improved method for rendering shaded anti-aliased three-dimensional color triangles into a frame buffer as set forth in claim 5 wherein the step of calculating the new color values (rn, bn, gn) for a pixel comprises calculating for each color (r, g, b) the following functions: rn=a*rr+(1-a)*ro gn=a*gg+(1-a)*go bn=a*bb+(1-a)*bo wherein: * implies multiplication rr, gg, bb are the calculated shaded values, ro, go, bo are old color values stored in the frame buffer.
Claim 10
Dependent Claim
89 words
An improved method for rendering shaded anti-aliased three-dimensional color triangles into a frame buffer as set forth in claim 5 wherein the step of computing the shaded color values (rr,gg,bb) for a particular pixel comprises calculating for each color the following functions: rr=r+i*rx+j*ry gg=g+i*gx+j*gy bb=b+i*bx+j*by wherein: * implies multiplication rx,ry,gx,gy,bx,by are rate of change of color, i and j are indices for the pixel relative to the origin of the constituent block, r,g,b are computed intensity values from the coordinate process- or at the origin of a constituent block.
Claim 11
Independent Claim
352 words
A method for rendering smoothly shaded, anti-aliased, three dimensional triangles into a frame buffer using a plurality of processors organized in a SIMD architecture said method being performed in a video display system including a host processor, a coordinate processor, wherein said frame buffer stores video data for display on a display monitor, said method comprising a parallel procedure operable simultaneously in all of said pixel processors wherein there are M×N processors ,where M & N are greater than one, rendering M×N contiguous pixels of video data into said frame buffer comprising the steps of: 1) accessing from the host processor three-dimensional coordinates and color intensity values for three vertices of a color triangle to be rendered, 2) determining coordinates of a bounding box which completely encloses a particular triangle to be rendered, composed of M×N pixel constituent blocks, arranged in columns (c) and rows (r) 3) determining an origin for a first constituent block, in said bounding, 4) calculating distances along a perpendicular to each of three sides of the triangle with respect said origin, 5) calculating color intensity values at said origin, 6) calculating rate of change of distance to three edges of the triangle along both the x and y axes, 7) determining a bevel width for each of the three sides of the triangle, 8) calculating the rate of change of colors along both the x and y axes, 9) broadcasting the data computed in Steps (4), (5), (6), (7) and (8) to all of the pixel processors, 10) determining if all constituent blocks in a bounding box surrounding said triangle have been evaluated and if not 11) calculating indices ic and jc which locate an origin of an unevaluated constituent block relative to the origin of the first constituent block, 12) broadcasting information calculated in Step (11) to the pixel processors, 13) again determining if all constituent blocks in a bounding box surrounding the triangle have been evaluated and if so, 14) determining if all triangles forming a complete display have been evaluated and if so exiting from the procedure, and if not returning to Step (1).
Claim 12
Independent Claim
352 words
A method for rendering smoothly shaded, anti-aliased, three dimensional triangles into a frame buffer using a plurality of processors organized in a SIMD architecture said method being performed in a video display system including a host processor, a coordinate processor, wherein said frame buffer stores video data for display on a display monitor, said method comprising a parallel procedure operable simultaneously in all of said pixel processors wherein there are M×N processors ,where M & N are greater than one, rendering M×N contiguous pixels of video data into said frame buffer comprising the steps of: 1) accessing from the host processor three-dimensional coordinates and color intensity values for three vertices of a color triangle to be rendered, 2) determining coordinates of a bounding box which completely encloses a particular triangle to be rendered, composed of M×N pixel constituent blocks, arranged in columns (c) and rows (r) 3) determining an origin for a first constituent block, in said bounding, 4) calculating distances along a perpendicular to each of three sides of the triangle with respect said origin, 5) calculating color intensity values at said origin, 6) calculating rate of change of distance to three edges of the triangle along both the x and y axes, 7) determining a bevel width for each of the three sides of the triangle, 8) calculating the rate of change of colors along both the x and y axes, 9) broadcasting the data computed in Steps (4), (5), (6), (7) and (8) to all of the pixel processors, 10) determining if all constituent blocks in a bounding box surrounding said triangle have been evaluated and if not 11) calculating indices ic and jc which locate an origin of an unevaluated constituent block relative to the origin of the first constituent block, 12) broadcasting information calculated in Step (11) to the pixel processors, 13) again determining if all constituent blocks in a bounding box surrounding the triangle have been evaluated and if so, 14) determining if all triangles forming a complete display have been evaluated and if so exiting from the procedure, and if not returning to Step (1).