Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-enabled method of shading a scene, the scene comprising a shading location on a surface element of an object in the scene, the method performed by a computing system having an in-core memory and coupled to one or more out-of-core storage devices, the method comprising: generating a point cloud representation of the scene, wherein the point cloud representation of the scene is generated by dividing the surface of the object in the scene into one or more micropolygons and storing information for each micropolygon into a point of one or more points in the point cloud; generating an octree data structure based on the point cloud representation of the scene, wherein the octree structure comprises leaf nodes and parent nodes, and wherein the octree structure stores the one or more points in the point cloud representation of the scene as leaf nodes, and wherein the octree data structure stores cluster data in parent nodes, and wherein generating the octree data structure comprises: computing Morton codes for each point in the point cloud representation of the scene, sorting the points based on a Morton order based on the computed Morton codes, recursively subdividing the points to find at most a threshold number of points, wherein the points are to be stored in nodes, and writing the nodes to the one or more out-of-core storage devices; and shading the shading location based on the nodes written to the one or more out-of-core storage devices.
2. The computer-enabled method of claim 1 , wherein generating the octree data structure further comprises: chunking the nodes before writing the nodes to the one or more out-of-core storage devices.
3. The computer-enabled method of claim 2 , wherein chunking the nodes further comprises: determining a maximum depth, and writing the nodes to a queue; and wherein writing the nodes to the one or more out-of-core storage devices further comprises: writing the nodes to the one or more out-of-core storage devices from the queue at each maximum depth.
4. The computer-enabled method of claim 1 , wherein sorting the points further comprises: sorting based on an N-way merge sort.
5. The computer-enabled method of claim 1 , wherein generating the octree data structure further comprises: finalizing the nodes before writing the nodes to the one or more out-of-core storage devices.
6. The computer-enabled method of claim 5 , wherein finalizing the nodes further comprises: computing the cluster data of the nodes.
7. The computer-enabled method of claim 1 , wherein the nodes comprise at most a threshold number of points.
8. The computer-enabled method of claim 1 , wherein the nodes may be compressed.
9. The computer-enabled method of claim 1 , wherein the one or more out-of-core storage devices comprise one or more hard disks, wherein the nodes may be written to one or more out-of-core page files.
10. A computer-enabled method of shading a scene, the scene comprising a shading location on a surface element of an object in the scene, the method performed by a computing system having an in-core memory and coupled to one or more out-of-core storage devices, the method comprising: generating a point cloud representation of the scene, wherein the point cloud representation of the scene is generated by dividing the surface of the object in the scene into one or more micropolygons and storing information for each micropolygon into a point of one or more points in the point cloud; generating an octree data structure based on the point cloud representation of the scene, wherein the octree structure comprises leaf nodes and parent nodes, and wherein generating the octree data structure comprises: computing positions on a space filling curve for each of the one or more points in the point cloud representation of the scene, sorting the points based on the space filling curve, recursively subdividing the points to find at most a threshold number of points, wherein the points are to be stored in nodes, and writing the nodes to the one or more out-of-core storage devices; and shading the shading location based on the nodes written to the one or more out-of-core storage devices.
11. The computer-enabled method of claim 10 , wherein the space filling curve is a Z-curve determined based on Morton order, wherein the Morton order is determined based on Morton codes.
12. A non-transitory computer-readable storage medium comprising computer-executable instructions for shading a scene, the scene comprising a shading location on a surface element of an object in the scene, the computer-executable instructions performed by a computing system having an in-core memory and coupled to one or more out-of-core storage devices, the computer-executable instructions comprising instructions for: generating a point cloud representation of the scene, wherein the point cloud representation of the scene is generated by dividing the surface of the object in the scene into one or more micropolygons and storing information for each micropolygon into a point of one or more points in the point cloud; generating an octree data structure based on the point cloud representation of the scene, wherein the octree structure comprises leaf nodes and parent nodes, and wherein generating the octree data structure comprises: computing positions on a space filling curve for each of the one or more points in the point cloud representation of the scene, sorting the points based on the space filling curve, recursively subdividing the points to find at most a threshold number of points, wherein the points are to be stored in nodes, and writing the nodes to the one or more out-of-core storage devices; and shading the shading location based on the nodes written to the one or more out-of-core storage devices.
13. The non-transitory computer-readable storage medium of claim 12 , wherein the space filling curve is a Z-curve determined based on Morton order, wherein the Morton order is determined based on Morton codes.
14. The non-transitory computer-readable storage medium of claim 12 , wherein generating the octree data structure further comprises: chunking the nodes before writing the nodes to the one or more out-of-core storage devices.
15. The non-transitory computer-readable storage medium of claim 14 , wherein chunking the nodes further comprises: determining a maximum depth, and writing the nodes to a queue; and wherein writing the nodes to the one or more out-of-core storage devices further comprises: writing the nodes to the one or more out-of-core storage devices from the queue at each maximum depth.
16. The non-transitory computer-readable storage medium of claim 12 , wherein sorting the points further comprises: sorting based on an N-way merge sort.
17. The non-transitory computer-readable storage medium of claim 12 , wherein generating the octree data structure further comprises: finalizing the nodes before writing the nodes to the one or more out-of-core storage devices.
18. The non-transitory computer-readable storage medium of claim 17 , wherein finalizing the nodes further comprises: computing the cluster data of the nodes.
19. A computer system for shading a scene, the scene comprising a shading location on a surface element of an object in the scene, the computer system comprising: in-core memory configured to store the shading location in the scene; one or more out-of-core storage devices configured to store one or more points in a point cloud and nodes from an octree data structure; and one or more processors configured to: generate a point cloud representation of the scene, wherein the point cloud representation of the scene is generated by dividing the surface of the object in the scene into one or more micropolygons and storing information for each micropolygon into a point of one or more points in the point cloud; generate the octree data structure based on the point cloud representation of the scene, wherein the octree structure comprises leaf nodes and parent nodes, and wherein generating the octree data structure comprises: computing positions on a space filling curve for each of the one or more points in the point cloud representation of the scene, sorting the points based on the space filling curve, recursively subdividing the points to find at most a threshold number of points, wherein the points are to be stored in nodes, and writing the nodes to the one or more out-of-core storage devices; and shade the shading location based on the nodes written to the one or more out-of-core storage devices.
20. The computer system of claim 19 , wherein the space filling curve is a Z-curve determined based on Morton order, wherein the Morton order is determined based on Morton codes.
21. The computer system of claim 19 , wherein the nodes comprise at most a threshold number of points.
22. The computer system of claim 19 , wherein the nodes may be compressed.
23. The computer system of claim 19 , wherein the one or more out-of-core storage devices comprise one or more hard disks, wherein the nodes may be written to one or more out-of-core page files.
Unknown
July 15, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.