Systems and Methods for Rendering Optical Distortion Effects
First Claim
1. A method comprising, by a computing system:
- receiving a focal surface map specified by an application through an application programming interface (API);
determining an orientation in a three-dimensional (3D) space, wherein the orientation is based on sensor data generated by a virtual reality device;
generating a plurality of first coordinates in the 3D space based on the determined orientation;
generating a plurality of second coordinates in the 3D space using the plurality of first coordinates and the focal surface map, wherein each of the plurality of first coordinates is associated with one of the plurality of second coordinates;
for each of the plurality of first coordinates, determining visibility of one or more objects defined within the 3D space by projecting a ray from the first coordinate through the associated second coordinate to test for intersection with the one or more objects; and
generating an image of the one or more objected based on the determined visibility of the one or more objects.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a computing system may receive a focal surface map, which may be specified by an application. The system may determine an orientation in a 3D space based on sensor data generated by a virtual reality device. The system may generate first coordinates in the 3D space based on the determined orientation and generate second coordinates using the first coordinates and the focal surface map. Each of the first coordinates is associated with one of the second coordinates. For each of the first coordinates, the system may determine visibility of one or more objects defined within the 3D space by projecting a ray from the first coordinate through the associated second coordinate to test for intersection with the one or more objects. The system may generate an image of the one or more objected based on the determined visibility of the one or more objects.
-
Citations
20 Claims
-
1. A method comprising, by a computing system:
-
receiving a focal surface map specified by an application through an application programming interface (API); determining an orientation in a three-dimensional (3D) space, wherein the orientation is based on sensor data generated by a virtual reality device; generating a plurality of first coordinates in the 3D space based on the determined orientation; generating a plurality of second coordinates in the 3D space using the plurality of first coordinates and the focal surface map, wherein each of the plurality of first coordinates is associated with one of the plurality of second coordinates; for each of the plurality of first coordinates, determining visibility of one or more objects defined within the 3D space by projecting a ray from the first coordinate through the associated second coordinate to test for intersection with the one or more objects; and generating an image of the one or more objected based on the determined visibility of the one or more objects. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to cause one or more processors to perform operations comprising:
-
receiving a focal surface map specified by an application through an application programming interface (API); determining an orientation in a three-dimensional (3D) space, wherein the orientation is based on sensor data generated by a virtual reality device; generating a plurality of first coordinates in the 3D space based on the determined orientation; generating a plurality of second coordinates in the 3D space using the plurality of first coordinates and the focal surface map, wherein each of the plurality of first coordinates is associated with one of the plurality of second coordinates; for each of the plurality of first coordinates, determining visibility of one or more objects defined within the 3D space by projecting a ray from the first coordinate through the associated second coordinate to test for intersection with the one or more objects; and generating an image of the one or more objected based on the determined visibility of the one or more objects. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
- one or more processors and one or more computer-readable non-transitory storage media coupled to one or more of the processors, the one or more computer-readable non-transitory storage media comprising instructions operable when executed by one or more of the processors to cause the system to perform operations comprising;
receiving a focal surface map specified by an application through an application programming interface (API); determining an orientation in a three-dimensional (3D) space, wherein the orientation is based on sensor data generated by a virtual reality device; generating a plurality of first coordinates in the 3D space based on the determined orientation; generating a plurality of second coordinates in the 3D space using the plurality of first coordinates and the focal surface map, wherein each of the plurality of first coordinates is associated with one of the plurality of second coordinates; for each of the plurality of first coordinates, determining visibility of one or more objects defined within the 3D space by projecting a ray from the first coordinate through the associated second coordinate to test for intersection with the one or more objects; and generating an image of the one or more objected based on the determined visibility of the one or more objects. - View Dependent Claims (16, 17, 18, 19, 20)
- one or more processors and one or more computer-readable non-transitory storage media coupled to one or more of the processors, the one or more computer-readable non-transitory storage media comprising instructions operable when executed by one or more of the processors to cause the system to perform operations comprising;
Specification