Claims
- 1. A method of forming a view of an object scene from object scene data, said object scene data describing objects and their movement during a period of time, the method comprising:
selecting a location within a view of the object scene; computing one view of the object scene for the location by reference to a first object if the first object overlaps said location and said first object does not move during the period of time; and computing a view of the object scene for the location by reference to the first object for each of a plurality of times at which the first object overlaps said location if the first object overlaps said location and said first object moves during the period of time.
- 2. The method of claim 1, wherein determining whether the first object overlaps the location during the period of time includes
computing a volume large enough to encompass the first object; and determining whether the volume overlaps the location, the first object not overlapping said location if said volume does not overlap said location.
- 3. The method of claim 1, wherein computing a view of the object scene includes
determining whether the first object is visible from the location, said object not being visible if further from the location than one or more other objects that overlap said location and are opaque separately or as a group.
- 4. The method of claim 3, wherein
the object is visible from the location if further from said location than one or more other objects that overlap said location and are semi-transparent.
- 5. The method of claim 4, wherein
the object is visible if closer to the location than one or more other objects that overlap said location.
- 6. The method of claim 1, further comprising
randomly selecting the plurality of times from the period of time.
- 7. The method of claim 1, further comprising
pseudo-randomly selecting the plurality of times from the period of time.
- 8. The method of claim 1, further comprising
quasi-randomly selecting the plurality of times from the period of time.
- 9. The method of claim 1, wherein
the plurality of times forms a random distribution within the period of time.
- 10. The method of claim 1, further comprising
the plurality of times forms a pseudo-random distribution within the period of time.
- 11. The method of claim 1, further comprising
the plurality of times forms a quasi-random distribution within the period of time.
- 12. The method of claim 1, wherein
a view of the object scene comprises a color value, a transparency value, and a depth value.
- 13. The method of claim 1, further comprising
updating the one view by reference to a second object if the second object overlaps the location and said second object does not move during the period of time.
- 14. The method of claim 1, further comprising
replicating the one view to form a plurality of views of the object scene if a second object overlaps the location during the period of time and said second object moves during said period of time, each of said plurality of views corresponding to a time in the plurality of times; and updating each view in the plurality of views by reference to the second object corresponding to a time at which the second object overlaps the location.
- 15. The method of claim 1, further comprising
referencing a second object that overlaps the location to update each view computed by reference to the first object, said second object not moving during the period of time.
- 16. The method of claim 1, further comprising
referencing a second object to update each view of the object scene computed by reference to the first object at time at which the second object also overlaps the location.
- 17. The method of claim 1, further comprising
initializing a view of an object scene for each of the plurality of times at which the first object does not overlap the location to default values.
- 18. The method of claim 17, further comprising
referencing a second object that overlaps the location to update each view of the object scene at the plurality of times by reference to second object, said second object not moving during the period of time.
- 19. The method of claim 17, further comprising
referencing a second object that overlaps the location to update each view of the object scene for each of the plurality of times at which the second object overlaps the location, said second object moving during the period of time.
- 20. The method of claim 17, wherein a view of the object scene includes at least a color value and a depth value, said initializing including
setting the color value to black; and setting the depth value to an initial value corresponding to a maximum distance from the location.
- 21. The method of claim 17, wherein a view of the object scene includes at least a color value and a depth value, said initializing including
setting the color value to a background color; and setting the depth value to an initial value corresponding to a maximum distance from the location.
- 22. The method of claim 1, further comprising
combining views of the object scene for the location computed at each of the plurality of times to form a final view of the object scene for the location after modifying said views as needed by reference to all of the objects that overlap said location.
- 23. The method of claim 1, further comprising
defining an area on a plane from which the object scene is viewed, said area including the location; determining whether the first object overlaps the area; and considering execution of one or both of the selecting steps and one of the computing steps only if the first object overlaps the area.
- 24. The method of claim 1, further comprising
defining an area on a plane from which the object scene is viewed, said area including the location; computing a volume large enough to encompass the first object; determining whether the volume overlaps the area; and considering execution of one or both of the selecting steps and one of the computing steps only if the volume overlaps the area.
- 25. The method of claim 1, wherein
the location comprises one or more point sample locations.
- 26. The method of claim 25, wherein
the location comprises one or more line sample locations.
- 27. The method of claim 25, wherein
the location comprises one or more area sample locations.
- 28. A method of sampling objects in an object scene, said objects and their movement during a period of time being described by object scene data, the method comprising:
selecting a location from which to sample; sampling a first object from the location to form a first sample if the first object overlaps said location and said first object does not move during the period of time; and sampling the first object from the location at each of a plurality of times at which the first object overlaps said location to form a plurality of samples if the first object overlaps said location and said first object moves during the period of time.
- 29. The method of claim 28, further comprising
sampling a second object to update the first sample if the second object overlaps the location and said second object does not move during the period of time.
- 30. The method of claim 28, further comprising
replicating the first sample to form a plurality of samples if a second object overlaps the location during the period of time and said second object moves during said period of time, each of said plurality of samples corresponding to a time in the plurality of times; and sampling the second object at each time in the plurality of times at which the second object overlaps the location to update samples corresponding to said each time.
- 31. The method of claim 28, further comprising
sampling a second object that overlaps the location to update each sample formed by sampling the first object, said second object not moving during the period of time.
- 32. The method of claim 28, further comprising
sampling a second object to update each sample formed by sampling the first object at times at which the second object also overlaps the location.
- 33. The method of claim 28, further comprising
initializing to default values a sample for each of the plurality of times at which the first object does not overlap the location.
- 34. The method of claim 33, further comprising
sampling a second object that overlaps the location to update each sample corresponding to the plurality of times, said second object not moving during the period of time.
- 35. The method of claim 33, further comprising
sampling a second object that overlaps the location to update each sample corresponding to a time in the plurality of times at which the second object overlaps the location, said second object moving during the period of time.
- 36. The method of claim 33, wherein a sample of the object scene includes at least a color value and a depth value, said initializing including
setting the color value to black; and setting the depth value to an initial value corresponding to a maximum distance from the location.
- 37. The method of claim 33, wherein a sample of the object scene includes at least a color value and a depth value, said initializing including
setting the color value to a background color; and setting the depth value to an initial value corresponding to a maximum distance from the location.
- 38. The method of claim 28, further comprising
combining samples taken from the location at each of the plurality of times to form a final sample.
- 39. The method of claim 28, wherein
the first object is sampled with a point.
- 40. The method of claim 28, wherein
the object scene is sampled with a line.
- 41. The method of claim 28, wherein
the object scene is sampled with an area.
- 42. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
a data structure for storing object scene data, said object scene data describing objects and their movement during a period of time; and a program including
instructions for selecting a location within a view of the object scene; instructions for computing one view of the object scene for the location by reference to a first object if the first object overlaps said location and said first object does not move during the period of time; and instructions for computing a view of the object scene for the location by reference to the first object for each of a plurality of times at which the first object overlaps said location if the first object overlaps said location and said first object moves during the period of time.
- 43. The computer program product of claim 42, wherein instructions for determining whether the first object overlaps the location during the period of time include
instructions for computing a volume large enough to encompass the first object; and instructions for determining whether the volume overlaps the location, the first object not overlapping said location if said volume does not overlap said location.
- 44. The computer program product of claim 42, wherein instructions for computing a view of the object scene include
instructions for determining whether the first object is visible from the location, said object not being visible if further from the location than one or more other objects that overlap said location and are opaque separately or as a group.
- 45. The computer program product of claim 44, wherein
the object is visible from the location if further from said location than one or more other objects that overlap said location and are semi-transparent.
- 46. The computer program product of claim 45, wherein
the object is visible if closer to the location than one or more other objects that overlap said location.
- 47. The computer program product of claim 42, further comprising
instructions for randomly selecting the plurality of times from the period of time.
- 48. The computer program product of claim 42, further comprising
instructions for pseudo-randomly selecting the plurality of times from the period of time.
- 49. The computer program product of claim 42, further comprising
instructions for quasi-randomly selecting the plurality of times from the period of time.
- 50. The computer program product of claim 42, wherein
the plurality of times form a random distribution within the period of time.
- 51. The computer program product of claim 42, further comprising
the plurality of times form a pseudo-random distribution within the period of time.
- 52. The computer program product of claim 42, further comprising
the plurality of times form a quasi-random distribution within the period of time.
- 53. The computer program product of claim 42, wherein
a view of the object scene comprises a color value, a transparency value, and a depth value.
- 54. The computer program product of claim 42, further comprising
instructions for updating the one view by reference to a second object if the second object overlaps the location and said second object does not move during the period of time.
- 55. The computer program product of claim 42, further comprising
instructions for replicating the one view to form a plurality of views of the object scene if a second object overlaps the location during the period of time and said second object moves during said period of time, each of said plurality of views corresponding to a time in the plurality of times; and instructions for updating each view in the plurality of views by reference to the second object corresponding to a time at which the second object overlaps the location.
- 56. The computer program product of claim 42, further comprising
instructions for referencing a second object that overlaps the location to update each view computed by reference to the first object, said second object not moving during the period of time.
- 57. The computer program product of claim 42, further comprising
instructions for referencing a second object to update each view of the object scene computed by reference to the first object at time at which the second object also overlaps the location.
- 58. The computer program product of claim 42, further comprising
instructions for initializing a view of an object scene for each of the plurality of times at which the first object does not overlap the location to default values.
- 59. The computer program product of claim 58, further comprising
instructions for referencing a second object that overlaps the location to update each view of the object scene at the plurality of times by reference to second object, said second object not moving during the period of time.
- 60. The computer program product of claim 58, further comprising
instructions for referencing a second object that overlaps the location to update each view of the object scene for each of the plurality of times at which the second object overlaps the location, said second object moving during the period of time.
- 61. The computer program product of claim 58, wherein a view of the object scene includes at least a color value and a depth value, said instructions for initializing include
instructions for setting the color value to black; and instructions for setting the depth value to an initial value corresponding to a maximum distance from the location.
- 62. The computer program product of claim 58, wherein a view of the object scene includes at least a color value and a depth value, said instructions for initializing including
instructions for setting the color value to a background color; and instructions for setting the depth value to an initial value corresponding to a maximum distance from the location.
- 63. The computer program product of claim 42, further comprising
instructions for combining views of the object scene for the location computed at each of the plurality of times to form a final view of the object scene for the location after modifying said views as needed by reference to all of the objects that overlap said location.
- 64. The computer program product of claim 42, further comprising
instructions for defining an area on a plane from which the object scene is viewed, said area including the location; instructions for determining whether the first object overlaps the area; and instructions for considering execution of one or both of the selecting steps and one of the computing steps only if the first object overlaps the area.
- 65. The computer program product of claim 42, further comprising
instructions for defining an area on a plane from which the object scene is viewed, said area including the location; instructions for computing a volume large enough to encompass the first object; instructions for determining whether the volume overlaps the area; and instructions for considering execution of one or both of the selecting steps and one of the computing steps only if the volume overlaps the area.
- 66. The computer program product of claim 42, wherein
the location comprises one or more point sample locations.
- 67. The computer program product of claim 42, wherein
the location comprises one or more line sample locations.
- 68. The computer program product of claim 42, wherein
the location comprises one or more area sample locations.
- 69. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
a data structure for storing object scene data, said object scene data describing objects and their movement during a period of time; and a program including
instructions for selecting a location from which to sample; instructions for sampling a first object from the location to form a first sample if the first object overlaps said location and said first object does not move during the period of time; and instructions sampling the first object from the location at each of a plurality of times at which the first object overlaps said location to form a plurality of samples if the first object overlaps said location and said first object moves during the period of time.
- 70. The computer program product of claim 69, further comprising
instructions for sampling a second object to update the first sample if the second object overlaps the location and said second object does not move during the period of time.
- 71. The computer program product of claim 69, further comprising
instructions for replicating the first sample to form a plurality of samples if a second object overlaps the location during the period of time and said second object moves during said period of time, each of said plurality of samples corresponding to a time in the plurality of times; and instructions for sampling the second object at each time in the plurality of times at which the second object overlaps the location to update samples corresponding to said each time.
- 72. The computer program product of claim 69, further comprising
instructions for sampling a second object that overlaps the location to update each sample formed by sampling the first object, said second object not moving during the period of time.
- 73. The computer program product of claim 69, further comprising
instructions for sampling a second object to update each sample formed by sampling the first object at times at which the second object also overlaps the location.
- 74. The computer program product of claim 69, further comprising
instructions for initializing to default values a sample for each of the plurality of times at which the first object does not overlap the location.
- 75. The computer program product of claim 74, further comprising
instructions for sampling a second object that overlaps the location to update each sample corresponding to the plurality of times, said second object not moving during the period of time.
- 76. The computer program product of claim 74, further comprising
instructions for sampling a second object that overlaps the location to update each sample corresponding to a time in the plurality of times at which the second object overlaps the location, said second object moving during the period of time.
- 77. The computer program product of claim 74, wherein a sample of the object scene includes at least a color value and a depth value, said instructions for initializing include
instructions for setting the color value to black; and instructions for setting the depth value to an initial value corresponding to a maximum distance from the location.
- 78. The computer program product of claim 74, wherein a sample of the object scene includes at least a color value and a depth value, said instructions for initializing include
instructions for setting the color value to a background color; and instructions for setting the depth value to an initial value corresponding to a maximum distance from the location.
- 79. The computer program product of claim 69, further comprising
instructions for combining samples taken from the location at each of the plurality of times to form a final sample.
- 80. The computer program product of claim 69, further comprising
instructions for using a point to sample the first object.
- 81. The computer program product of claim 69, further comprising
instructions for using a line to sample the first object.
- 82. The computer program product of claim 69, further comprising
instructions for using an area to sample the first object.
- 83. A method of forming a view of an object scene from object scene data, said object scene data describing objects and their movement during a period of time, the method comprising:
selecting a location from which to view the object scene; computing a view of the object scene for the location by reference to a first object one time during the period of time if the first object overlaps said location and said first object does not move during said period of time; and computing the view of the object scene for the location by reference to the first object at a plurality of times during the period of time if the first object overlaps said location at said plurality of times and said first object moves during said period of time.
- 84. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
a data structure for storing object scene data, said object scene data describing objects and their movement during a period of time; and a program including
instructions for selecting a location from which to view the object scene; instructions for computing a view of the object scene for the location by reference to a first object one time during the period of time if the first object overlaps said location and said first object does not move during said period of time; and instructions for computing the view of the object scene for the location by reference to the first object at a plurality of times during the period of time if the first object overlaps said location at said plurality of times and said first object moves during said period of time.
RELATED APPLICATIONS
[0001] This application is related to, and incorporates herein by reference, a U.S. patent application bearing Ser. No. 09/865,990, identified by attorney docket number 10626-007-999, entitled “SYSTEM AND METHOD OF LINE SAMPLING OBJECT SCENE INFORMATION”, and commonly assigned with the present invention. This application is also related to, and incorporates herein by reference, a U.S. patent application identified by attorney docket number 10626-009-999, filed on May 28, 2002, entitled “SYSTEM AND METHOD RELATED TO DATA STRUCTURES IN THE CONTEXT OF A COMPUTER GRAPHICS SYSTEM”, and commonly assigned with the present invention.