Method and system for rendering virtual content
First Claim
1. A method of rendering virtual content, comprising:
- rendering a virtual world for a user by using at least a virtual world model based at least in part upon a location of the user at least by performing a first process, the first process comprising;
determining the location of a user in the virtual world at least by matching a signature of the location with a predetermined signature of a first node in a topological map, without having to process geometries at the location, wherein nodes in the topological map correspond to respective distinct signatures and do not include keyframes of corresponding locations;
retrieving a first set of data associated with a first part of the virtual world by using the virtual world model, the first set of data corresponding to both the first node in a topological map and the location of the user, wherein the virtual world model does not render virtual contents that are displayed to the user; and
rendering, based at least in part or in whole on the first set of data, the first part of the virtual world to a user device of the user at least by generating the virtual contents for the first part;
retrieving a second part of the virtual world by using at least the virtual world model based at least in part upon an anticipated location from the location of the user at least by performing a second process, the second process comprising;
determining an anticipated location for the user at the location at least by;
identifying an area around the user;
communicating an intended direction of the user and one or more locations within the area to a server storing the virtual world model; and
determining, at the server, the anticipated location from the world model based at least in part upon the intended location of the user and the one or more locations within the area;
retrieving a second set of data associated with the second part of the virtual world that corresponds to a second node representing the anticipated location of the user in the topological map; and
sharing a space at the anticipated location with a plurality of users including the user at least by updating the virtual world for the user, wherein updating the virtual world comprises rendering, based on the location and the anticipated location of the user, the second part of the virtual world using at least the second set of data, the second part comprising a virtual object that was previously generated in response to an action of a different user in the second part of the virtual world.
3 Assignments
0 Petitions
Accused Products
Abstract
A waveguide apparatus includes a planar waveguide and at least one optical diffraction element (DOE) that provides a plurality of optical paths between an exterior and interior of the planar waveguide. A phase profile of the DOE may combine a linear diffraction grating with a circular lens, to shape a wave front and produce beams with desired focus. Waveguide apparati may be assembled to create multiple focal planes. The DOE may have a low diffraction efficiency, and planar waveguides may be transparent when viewed normally, allowing passage of light from an ambient environment (e.g., real world) useful in AR systems. Light may be returned for temporally sequentially passes through the planar waveguide. The DOE(s) may be fixed or may have dynamically adjustable characteristics. An optical coupler system may couple images to the waveguide apparatus from a projector, for instance a biaxially scanning cantilevered optical fiber tip.
-
Citations
17 Claims
-
1. A method of rendering virtual content, comprising:
-
rendering a virtual world for a user by using at least a virtual world model based at least in part upon a location of the user at least by performing a first process, the first process comprising; determining the location of a user in the virtual world at least by matching a signature of the location with a predetermined signature of a first node in a topological map, without having to process geometries at the location, wherein nodes in the topological map correspond to respective distinct signatures and do not include keyframes of corresponding locations; retrieving a first set of data associated with a first part of the virtual world by using the virtual world model, the first set of data corresponding to both the first node in a topological map and the location of the user, wherein the virtual world model does not render virtual contents that are displayed to the user; and rendering, based at least in part or in whole on the first set of data, the first part of the virtual world to a user device of the user at least by generating the virtual contents for the first part; retrieving a second part of the virtual world by using at least the virtual world model based at least in part upon an anticipated location from the location of the user at least by performing a second process, the second process comprising; determining an anticipated location for the user at the location at least by; identifying an area around the user; communicating an intended direction of the user and one or more locations within the area to a server storing the virtual world model; and determining, at the server, the anticipated location from the world model based at least in part upon the intended location of the user and the one or more locations within the area; retrieving a second set of data associated with the second part of the virtual world that corresponds to a second node representing the anticipated location of the user in the topological map; and sharing a space at the anticipated location with a plurality of users including the user at least by updating the virtual world for the user, wherein updating the virtual world comprises rendering, based on the location and the anticipated location of the user, the second part of the virtual world using at least the second set of data, the second part comprising a virtual object that was previously generated in response to an action of a different user in the second part of the virtual world. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of rendering virtual content, comprising:
-
rendering a virtual world for a user by using at least a virtual world model based at least in part upon a first location of the user at least by performing a first process, the first process comprising; determining the first location of the user at least by matching a signature with a predetermined signature of a first node in a topological map, without having to process geometries at the location, wherein nodes in the topological map correspond to respective distinct signatures and do not include keyframes of corresponding locations; retrieving a first set of data associated with a first part of the virtual world by using the virtual world model, the first set of data corresponding to both the first node in a topological map and the first location of the user, wherein the virtual world model does not render the virtual contents that are displayed to the user; and rendering, based in whole or in part on the first set of data, the first part of the virtual world to a user device of the user at least by generating the virtual contents for the first part; retrieving a second part of the virtual world by using at least the virtual world model based at least in part upon an anticipated location from the location of the user at least by performing a second process, the second process comprising; determining an anticipated location of the user at least by; identifying an area around the first node in the topological map; communicating an intended direction of the user and one or more locations within the area to a server storing the virtual world model; and determining, at the server, the anticipated location from the world model based at least in part upon the intended location of the user and the one or more locations within the area; retrieving a second set of data associated with the second part of the virtual world that corresponds to a second node representing the anticipated location of the user in the topological map; and rendering, based at least in part on the second set of data, second virtual content to the user device of the user, the second virtual content comprising a virtual object that was previously generated in response to an action of a different user in the second part of the virtual world. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method of rendering virtual content, comprising:
-
rendering a virtual world for a user by using at least a virtual world model based at least in part upon a location of the user at least by performing a first process, the first process comprising; determining the location of a first user in the virtual world at least by matching a signature of the location with a predetermined signature of a first node in a topological map, without having to process geometries at the location, wherein nodes in the topological map correspond to respective distinct signatures and do not include keyframes of corresponding locations; retrieving a first set of data associated with a first part of the virtual world by using the virtual world model, the first set of data corresponding to both the first node in a topological map and the location of the first user; retrieving a second set of data associated with a second part of the virtual world by using the virtual world model, the second set of data corresponding to a location of a second user and a second node in the topological map, wherein the virtual world model does not render virtual contents that are displayed to the first user; rendering, based in whole or in part on the first and second sets of data, the first part and the second part of the virtual world to a user device of the first user at least by generating virtual contents for the first part and the second part; and retrieving a second part of the virtual world by using at least the virtual world model based at least in part upon an anticipated location from the location of the user at least by performing a second process, the second process comprising; determining an anticipated location for the first user at the location at least by; identifying an area around the first user; communicating an intended direction of the first user and one or more locations within the area to a server storing the virtual world model; and determining, at the server, the anticipated location from the world model based at least in part upon the intended location of the first user and the one or more locations within the area; retrieving a third set of data associated with a third part of the virtual world that corresponds to a third node representing the anticipated location of the first user in the topological map; and sharing a space at the anticipated location with a plurality of users including the first user and the second user at least by updating the virtual world for the user, wherein updating the virtual world comprises rendering, based on the location and the anticipated location of the first user, the second part of the virtual world using at least the third set of data, the third part comprising a virtual object that was previously generated in response to an action of a different user in the third part of the virtual world. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An AR system, comprising:
-
a processor; a sensor operatively coupled to the processor to render a virtual world for a user by using at least a virtual world model based at least in part upon a location of the user at least by performing a first process, the first process comprising; determining the a location of a user in the virtual world at least by matching a signature of the location with a predetermined signature of a first node in a topological map, without having to process geometries at the location, wherein nodes in the topological map correspond to respective distinct signatures and do not include keyframes of corresponding locations; and retrieve a first set of data associated with a first part of the virtual world by using the virtual world model, the first set of data corresponding to both the first node in a topological map and the location of the user, wherein the virtual world model does not render virtual contents that are displayed to the user; render, based at least in part or in whole on the first set of data, the first part of the virtual world to a user device of the user at least by generating the virtual content for the first part; the processor further configured to retrieve a second part of the virtual world by using at least the virtual world model based at least in part upon an anticipated location from the location of the user at least by performing a second process, the second process comprising; determining an anticipated location for the user at the location at least by; identifying an area around the user; communicating an intended direction of the user and one or more locations within the area to a server storing the virtual world model; and determining, at the server, the anticipated location from the world model based at least in part upon the intended location of the user and the one or more locations within the area; retrieving a second set of data associated with the second part of the virtual world that corresponds to a second node representing the anticipated location of the user in the topological map; and the processor further configured to share a space at the anticipated location with a plurality of users including the user at least by updating the virtual world for the user, wherein updating the virtual world comprises rendering, based on the location and anticipated location of the user, the second part of the virtual world using at least the second set of data, the second part comprising a virtual object that was previously generated in response to an action of a different user in the second part of the virtual world.
-
-
17. A computer program product comprising a non-transitory computer readable storage medium embodying one or more instructions executable by a processor to perform a process for rendering virtual content, the processing comprising:
-
rendering a virtual world for a user by using at least a virtual world model based at least in part upon a location of the user at least by performing a first process, the first process comprising; determining the a location of a user in the virtual world at least by matching a signature of the location with a predetermined signature of a first node in a topological map, without having to process geometries at the location, wherein nodes in the topological map correspond to respective distinct signatures and do not include keyframes of corresponding locations; retrieving a first set of data associated with a first part of the virtual world by using the virtual world model, the first set of data corresponding to both the first node in a topological map and the location of the user, wherein the virtual world model does not render virtual contents that are displayed to the user; rendering, based at least in part or in whole on the first set of data, the first part of the virtual world to a user device of the user at least by generating the virtual contents for the first part; retrieving a second part of the virtual world by using at least the virtual world model based at least in part upon an anticipated location from the location of the user at least by performing a second process, the second process comprising; determining an anticipated location for the user at the location at least by; identifying an area around the user; communicating an intended direction of the user and one or more locations within the area to a server storing the virtual world model; and determining, at the server, the anticipated location from the world model based at least in part upon the intended location of the user and the one or more locations within the area; retrieving a second set of data associated with the second part of the virtual world that corresponds to the a second node representing the anticipated location of the user in the topological map; and sharing a space at the anticipated location with a plurality of users including the user at least by updating the virtual world for the user, wherein updating the virtual world comprises rendering, based on the location and anticipated location of the user, the second part of the virtual world using at least the second set of data, the second part comprising a virtual object that was previously generated in response to an action of a different user in the second part of the virtual world.
-
Specification