1461108684-250a6fd5-4cc7-4958-aca8-4459d784d08e

1. A method for rendering a plurality of objects, the method comprising:
receiving ray differential information associated with a ray;
determining a first ray differential based on at least information associated with the ray and a first surface patch;
processing information associated with the first ray differential and the first surface patch;
determining a first resolution based on at least information associated with the first ray differential and the first surface patch;
selecting a second resolution from the plurality of predetermined resolutions based on at least information associated with the first resolution and the plurality of predetermined resolutions, the second resolution being finer than or equal to the first resolution;
obtaining a first geometry representation associated with the second resolution;
if the second resolution is finer than the first resolution,
selecting a third resolution from the plurality of predetermined resolutions, the third resolution being coarser than the first resolution;
obtaining a second geometry representation associated with the third resolution;
generating a third geometry representation based on at least information associated with the first geometry representation, the second geometry representation, the first resolution, the second resolution, and the third resolution;
determining whether the ray and the first surface patch intersect based on at least information associated with the ray and the third geometry representation.
2. The method of claim 1 wherein the generating a third geometry representation comprises interpolating between the first geometry representation and the second geometry representation.
3. The method of claim 2 wherein the interpolating between the first geometry representation and the second geometry representation comprises performing a linear interpolation between the first geometry representation and the second geometry representation.
4. The method of claim 2 wherein the interpolating between the first geometry representation and the second geometry representation comprises performing a non-linear interpolation between the first geometry representation and the second geometry representation.
5. The method of claim 1 wherein the generating a third geometry representation comprises merging a plurality of sets of 2\xd72 quads into one quad.
6. The method of claim 1 wherein the second resolution is the nearest finer resolution to the first resolution among the plurality of predetermined resolutions.
7. The method of claim 1 wherein the third geometry representation is associated with the first resolution.
8. The method of claim 1 wherein the obtaining a first geometry representation comprises generating the first geometry representation based on at least information associated with the first surface patch and the second resolution.
9. The method of claim 1 wherein the obtaining a first geometry representation comprises obtaining the first geometry representation from a database based on at least information associated with the first surface patch and the second resolution.
10. The method of claim 1 wherein the obtaining a second geometry representation comprises generating the second geometry representation based on at least information associated with the first surface patch and the third resolution.
11. The method of claim 1 wherein the obtaining a second geometry representation comprises obtaining the second geometry representation from a database based on at least information associated with the first surface patch and the third resolution.
12. The method of claim 11 wherein the database is stored in a cache memory.
13. The method of claim 1 wherein the determining a first ray differential comprises:
determining a bounding box surrounding the first surface patch;
processing information associated with the bounding box;
determining an intersection between the ray and the bounding box based on at least information associated with the ray and the bounding box.
14. The method of claim 13 wherein the ray is associated with an origin, the origin being located on a second surface patch, and the ray information includes a second ray differential associated with the origin.
15. The method of claim 14 wherein the determining a first ray differential further comprises:
determining a distance between the origin and the intersection;
processing information associated with the distance and the second ray differential;
determining the first ray differential based on at least information associated with the distance and the second ray differential.
16. The method of claim 1 wherein the plurality of predetermined resolutions is associated with a database.
17. The method of claim 1 wherein each of the plurality of predetermined resolutions comprises a first tessellation rate associated with a first dimension and a second tessellation rate associated with a second dimension, the first tessellation rate being equal to or different from the second tessellation rate.
18. The method of claim 1 wherein the first surface patch is associated with a fourth resolution, the fourth resolution being used to render the first surface patch directly onto an image plane.
19. The method of claim 18 wherein the obtaining a first geometry representation associated with the second resolution comprises if the second resolution is higher than the fourth resolution, determining the first geometry representation by tessellating the first surface patch at the fourth resolution.
20. The method of claim 1 wherein the obtaining a first geometry representation associated with the second resolution comprises:
determining whether the first surface patch has been tessellated;
if the first surface patch has not been tessellated,
generating a fourth geometry representation based on at least information associated with the first surface patch and a fourth resolution;
processing information associated with the fourth geometry representation, the second resolution, and the fourth resolution;
determining the first geometry representation based on at least information associated with the fourth geometry representation, the second resolution, and the fourth resolution.
21. The method of claim 20 wherein the fourth resolution is the highest resolution among the plurality of predetermined resolutions.
22. The method of claim 20 wherein the fourth resolution is used to render the first surface patch directly onto an image plane.
23. The method of claim 20, and further comprising:
processing information associated with the fourth geometry representation;
determining a bounding box corresponding to the first surface patch based on at least information associated with the fourth geometry representation.
24. The method of claim 1 wherein the obtaining a first geometry representation associated with the second resolution comprises:
if the first surface patch is in motion,
determining a start time and an end time;
generating a fourth geometry representation based on at least information associated with the first surface patch and the second resolution, the fourth geometry representation corresponding to the start time;
generating a fifth geometry representation based on at least information associated with the first surface patch and the second resolution, the fifth geometry representation corresponding to the end time;
determining the first geometry representation based on at least information associated with the fourth geometry representation and the fifth geometry representation.
25. The method of claim 24 wherein the determining the first geometry representation based on at least information associated the fourth geometry representation and the fifth geometry representation comprises interpolating between the fourth geometry representation and the fifth geometry representation based on at least information associated with the start time and the end time.
26. The method of claim 25 wherein the obtaining a first geometry representation associated with the second resolution further comprises:
if the first surface patch is in motion,
storing the fourth geometry representation into a database;
storing the fifth geometry representation into the database.
27. The method of claim 1, and further comprising:
obtaining a fourth geometry representation associated with a second surface patch tessellated at a fourth resolution, the second surface patch being adjacent to the first surface patch;
processing information associated with the third geometry representation and the fourth geometry representation;
determining whether there is at least one patch crack between the third geometry representation and the fourth geometry representation;
if there is the at least one patch crack, performing a stitching process to the third geometry representation and the fourth geometry representation.
28. The method of claim 27 wherein the performing a stitching process includes moving at least one vertex.
29. The image formed according to the method of claim 1.
30. A computer program product including a computer-readable medium including instructions for rendering a plurality of objects, the computer-readable medium comprising:
one or more instructions for receiving ray differential information associated with a ray;
one or more instructions for determining a first ray differential based on at least information associated with the ray and a first surface patch;
one or more instructions for processing information associated with the first ray differential and the first surface patch;
one or more instructions for determining a first resolution based on at least information associated with the first ray differential and the first surface patch;
one or more instructions for selecting a second resolution from the plurality of predetermined resolutions based on at least information associated with the first resolution and the plurality of predetermined resolutions, the second resolution being finer than or equal to the first resolution;
one or more instructions for obtaining a first geometry representation associated with the second resolution;
one or more instructions for if the second resolution is finer than the first resolution,
selecting a third resolution from the plurality of predetermined resolutions, the third resolution being coarser than the first resolution;
obtaining a second geometry representation associated with the third resolution;
generating a third geometry representation based on at least information associated with the first geometry representation, the second geometry representation, the first resolution, the second resolution, and the third resolution;
determining whether the ray and the first surface patch intersect based on at least information associated with the ray and the third geometry representation.
31. A system for rendering a plurality of objects, the system comprising:
a processing system configured to:
receive ray differential information associated with a ray;
determine a first ray differential based on at least information associated with the ray and a first surface patch;
process information associated with the first ray differential and the first surface patch;
determine a first resolution based on at least information associated with the first ray differential and the first surface patch;
select a second resolution from the plurality of predetermined resolutions based on at least information associated with the first resolution and the plurality of predetermined resolutions, the second resolution being finer than or equal to the first resolution;
obtain a first geometry representation associated with the second resolution;
if the second resolution is finer than the first resolution,
select a third resolution from the plurality of predetermined resolutions, the third resolution being coarser than the first resolution;
obtain a second geometry representation associated with the third resolution;
generate a third geometry representation based on at least information associated with the first geometry representation, the second geometry representation, the first resolution, the second resolution, and the third resolution;
determine whether the ray and the first surface patch intersect based on at least information associated with the ray and the third geometry representation.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A method comprising:
monitoring a variable-rate data communication channel to determine its signal-to-noise ratio; and
adjusting the data transmission rate of the variable rate data communication channel based on its signal-to-noise ratio.
2. The method of claim 1 wherein said adjusting the data transmission rate includes comparing the signal-to-noise ratio of the variable rate data communication channel to a plurality of signal-to-noise ratio ranges.
3. The method of claim 2 wherein said adjusting the data transmission rate further includes selecting the signal-to-noise ratio range that encompasses the signal-to-noise ratio of the variable rate data communication channel.
4. The method of claim 3 wherein each signal-to-noise ratio range is associated with a specific data transmission rate, said adjusting the data transmission rate further includes setting the data transmission rate of the variable rate data communication channel to the specific data transmission rate associated with the selected signal-to-noise ratio range.
5. The method of claim 1 wherein the variable rate data communication channel is a bidirectional channel that includes a receive side for receiving data from a remote device and a transmit side for transmitting data to that remote device, said monitoring a variable-rate data communication channel includes determining a noise signal strength factor for the receive side of the variable-rate data communication channel during a non-transmission period.
6. The method of claim 5 wherein monitoring a variable-rate data communication channel includes determining a received signal strength factor for the receive side of the variable-rate data communication during a transmission period.
7. The method of claim 6 wherein monitoring a variable-rate data communication channel includes determining the difference between the received signal strength factor and the noise signal strength factor, wherein the difference is a data signal strength factor.
8. The method of claim 6 wherein monitoring a variable-rate data communication channel includes determining the signal-to-noise ratio of the variable-rate data communication channel from the data signal strength factor and the noise signal strength factor.
9. The method of claim 1 further comprising iteratively adjusting the data transmission rate of the variable rate data communication channel if the signal-to-noise ratio of the channel cannot be determined for a defined period of time.
10. A data transmission rate control process comprising:
an SNR determination process for monitoring a variable-rate data communication channel to determine its signal-to-noise ratio; and
a transmission rate adjustment process, responsive to said SNR determination process, for adjusting the data transmission rate of said variable rate data communication channel based on its signal-to-noise ratio.
11. The data transmission rate control process of claim 10 wherein said transmission rate adjustment process includes an SNR comparison process for comparing the signal-to-noise ratio of the variable rate data communication channel to a plurality of signal-to-noise ratio ranges.
12. The data transmission rate control process of claim 11 wherein said transmission rate adjustment process further includes a range selection process for selecting a signal-to-noise ratio range that encompasses the signal-to-noise ratio of the variable rate data communication channel.
13. The data transmission rate control process of claim 12 wherein each said signal-to-noise ratio range is associated with a specific data transmission rate, said transmission rate adjustment process further including a transmission rate selection process for setting the data transmission rate of said variable rate data communication channel to the specific data transmission rate associated with the selected signal-to-noise ratio range.
14. The data transmission rate control process of claim 10 wherein said variable rate data communication channel is a bidirectional channel that includes a receive side for receiving data from a remote device and a transmit side for transmitting data to that remote device, said SNR determination process including a noise signal determination process for determining a noise signal strength factor for said receive side of said variable-rate data communication channel during a non-transmission period.
15. The data transmission rate control process of claim 14 wherein said SNR determination process includes a received signal determination process for determining a received signal strength factor for said receive side of said variable-rate data communication channel during a transmission period.
16. The data transmission rate control process of claim 15 wherein said SNR determination process includes a data signal determination process for determining the difference between said received signal strength factor and said noise signal strength factor, wherein said difference is a data signal strength factor.
17. The data transmission rate control process of claim 16 wherein said SNR determination process includes a SNR calculation process for determining said signal-to-noise ratio of said variable-rate data communication channel from said actual signal strength factor and said noise signal strength factor.
18. The data transmission rate control process of claim 10 further comprising an iterative rate determination process, responsive to said SNR determination process being unable to determine the signal-to-noise ratio of said variable-rate data communication channel for a defined period of time, for setting the data transmission rate of said variable rate data communication channel.
19. The data transmission rate control process of claim 18 wherein said variable-rate data communication channel can transmit data at a plurality of data transmission rates, said iterative rate determination process including an initial rate setting process for setting the data transmission rate of said variable-rate data communication channel to the data transmission rate that corresponds to the last-determined signal-to-noise ratio.
20. The data transmission rate control process of claim 19 wherein said iterative rate determination process includes:
a data transmission process for transmitting data packets, via said variable-rate data communication channel, to a remote device; and
a receipt confirmation process for determining if said data packets transmitted to said remote device were received by said remote device.
21. The data transmission rate control process of claim 20 wherein said iterative rate determination process includes a transmission ratio determination process for determining a transmission ratio, wherein said transmission ratio is indicative of the ratio of data packets received by the remote device versus data packets transmitted to the remote device.
22. The data transmission rate control process of claim 21 wherein said iterative rate determination process includes:
a transmission ratio comparison process for comparing said transmission ratio to a defined acceptability ratio range; and
a transmission rate adjustment process for adjusting the transmission rate of said variable-rate data communication channel in response to said transmission ratio being outside of said defined acceptability ratio range.
23. A computer program product residing on a computer readable medium having instructions stored thereon which, when executed by the processor, cause that processor to:
monitor a variable-rate data communication channel to determine its signal-to-noise ratio; and
adjust the data transmission rate of the variable rate data communication channel based on its signal-to-noise ratio.
24. The computer program product of claim 23 wherein said computer readable medium is a read-only memory.
25. A data transmission rate control system comprising:
a first computing device including a first wireless communication system;
a second computing device including a second wireless communication system, wherein said first and second wireless communication systems form a variable rate data communication channel between said first and second computing devices;
wherein each said wireless communication system includes:
a SNR determination process for monitoring said variable-rate data communication channel to determine its signal-to-noise ratio; and
a transmission rate adjustment process, responsive to said SNR determination process, for adjusting the data transmission rate of said variable rate data communication channel based on its signal-to-noise ratio.
26. The data transmission rate control system of claim 25 wherein said transmission rate adjustment process includes:
a SNR comparison process for comparing the signal-to-noise ratio of said variable rate data communication channel to a plurality of signal-to-noise ratio ranges; and
a range selection process for selecting a signal-to-noise ratio range that encompasses the signal-to-noise ratio of said variable rate data communication channel.
27. The data transmission rate control system of claim 26 wherein each said signal-to-noise ratio range is associated with a specific data transmission rate, said transmission rate adjustment process further including a transmission rate selection process for setting the data transmission rate of said variable rate data communication channel to the specific data transmission rate associated with the selected signal-to-noise ratio range.
28. The data transmission rate control system of claim 27 wherein said variable rate data communication channel is a bidirectional channel that includes a receive side for receiving data from a remote device and a transmit side for transmitting data to that remote device, said SNR determination process including a noise signal determination process for determining a noise signal strength factor for said receive side of said variable-rate data communication channel during a non-transmission period.
29. The data transmission rate control system of claim 28 wherein said SNR determination process includes:
a received signal determination process for determining a received signal strength factor for said receive side of said variable-rate data communication channel during a transmission period; and
a data signal determination process for determining the difference between said received signal strength factor and said noise signal strength factor, wherein said difference is a data signal strength factor.
30. The data transmission rate control system of claim 29 wherein said SNR determination process includes an SNR calculation process for determining said signal-to-noise ratio of said variable-rate data communication channel from said actual signal strength factor and said noise signal strength factor.