Analytic motion blur coverage in the generation of computer graphics imagery
AssigneeSilicon Graphics, Inc.
InventorsAndrew P. Pearce, Kelvin Hsien Ching Sung
Life of this patent
Estimating the term…
Abstract
A system and method for simulating motion blur. Intersections of pixel sampling points with leading and trailing edges of moving polygons are identified. The intersection points define segments of coverage of the pixel sampling point by a polygon. A segment list is sorted to identify segments that are associated with visible polygons. The segments of visible polygons are passed to shading and texturing functions which individually determine the temporal sampling points for a single polygon or a group of polygons.
Claims46
A system for simulating motion blur in an exposure interval, comprising:
- identifying means for identifying an intersection point of an edge of a moving polygon with a stationary sampling point;
- first generating means for generating a segment that identifies a span of time that said stationary sampling point is inside said moving polygon;
- second generating means for generating an event list for a set of generated segments, wherein said event list includes a sequential list of start and end points of said list of generated segments;
- third generating means for generating a visible surface list that includes a list of visible segments;
- grouping means for placing one or more polygons that are associated with said visible segments in said visible surface list into a group, wherein said group of polygons have a continuous time coverage over an object;
- first determining means for determining a shading sampling rate for said group, wherein said shading sampling rate is dependent upon the type of surface being shaded;
- second determining means for determining one or more shading sampling points for said group;
- first combining means for combining values obtained by said one or more shading sampling points into a shading value for said stationary sampling point;
- third determining means for determining a texture sampling rate for said group;
- fourth determining means for determining texture sampling points for said group;
- and
- second combining means for combining values obtained by said texture sampling points into a texture value for said stationary sampling point.
A system for sampling shades and textures in a simulation of motion blur, comprising:
- means for identifying an intersection point of an edge of a moving polygon with a stationary sampling point;
- means for generating a segment that identifies a span of time that said stationary sampling point is inside said moving polygon;
- means for generating a visible surface list that includes a list of visible segments;
- means for placing one or more polygons that are associated with segments in said visible surface list into a group, wherein said group of polygons have a continuous time coverage over an object;
- means for determining a shading sampling rate for said group, wherein said shading sampling rate is dependent upon a type of surface being shaded;
- and
- means for determining a texture sampling rate for said group.
A system for simulating motion blur in a computer graphics application that includes at least one three dimensional surface, comprising:
- generating means for generating a list of segments, wherein each segment in said list of segments identifies a span of time during which at least a portion of a three dimensional surface intersects with a sampling point;
- means for determining a shading sampling rate for a segment in said list of segments, wherein said shading sampling rate is dependent upon a type of surface being shaded;
- and
- means for determining a texture sampling rate for said segment.
A computer program embodied on a computer usable medium having computer program logic stored therein that provides motion blur simulation, wherein said computer program logic comprises:
- an identifying means for enabling a computer to identify an intersection point of an edge of a moving polygon with a stationary sampling point;
- means for enabling the computer to generate a segment that identifies a span of time that said stationary sampling point is inside said moving polygon;
- means for enabling the computer to generate a visible surface list that includes a list of visible segments;
- means for enabling the computer to place one or more polygons that are associated with segments in said visible surface list into a group, wherein said group of polygons have a continuous time coverage over an object;
- means for enabling the computer to determine a shading sampling rate for said group, wherein said shading sampling rate is dependent upon a type of surface being shaded;
- and
- means for enabling the computer to determine a texture sampling rate for said group.
A method for simulating motion blur in a computer graphics application that includes at least one three dimensional surface, comprising the steps of:
- (1) generating a list of segments, wherein each segment in said list of segments identifies a span of time during which at least a portion of a three dimensional surface intersects with a sampling point;
- (2) determining a shading sampling rate for a segment in said list of segments, wherein said shading sampling rate is dependent upon a type of surface being shaded;
- and
- (3) determining a texture sampling rate for said segment.
A method for simulating motion blur in an exposure interval, comprising the steps of:
- (1) identifying an intersection point of an edge of a moving polygon with a stationary sampling point;
- (2) generating a segment that identifies a span of time that said stationary sampling point is inside said moving polygon;
- (3) for a set of generated segments, generating an event list that includes a sequential list of start and end points of said list of generated segments;
- (4) generating a visible surface list that includes a list of visible segments;
- (5) placing one or more polygons that are associated with segments in said visible surface list into a group, wherein said group of polygons have a continuous time coverage over an object;
- (6) determining a shading sampling rate for said group, wherein said shading sampling rate is dependent upon the type of surface being shaded;
- (7) determining one or more shading sampling points for said group;
- (8) combining values obtained by said one or more shading sampling points into a shading value for said stationary sampling point;
- (9) determining a texture sampling rate for said group;
- (10) determining texture sampling points for said group;
- and
- (11) combining values obtained by said texture sampling points into a texture value for said stationary sampling point.
Dependencies are inferred from the claim text.