Computer-generated reality platform for generating computer-generated reality environments
The present disclosure relates to providing a computer-generated reality (CGR) platform for generating CGR environments including virtual and augmented reality environments. In some embodiments, the platform includes an operating-system-level (OS-level) process that simulates and renders content in the CGR environment, and one or more application-level processes that provide information related to the content to be simulated and rendered to the OS-level process.
1. An electronic device, comprising:
one or more processors; and
memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:
receiving a first input indicative of a request to launch a first application in a three-dimensional computer-generated reality environment;
in response to receiving the first input, initiating a process of the first application;
receiving a second input indicative of a request to launch a second application different from the first application in the three-dimensional computer-generated reality environment;
in response to receiving the second input, initiating a process of the second application different from the process of the first application;
providing to a process of an operating system of the electronic device, by the process of the first application, data object data for a first data object, wherein:
the process of the operating system is different from the process of the first application and from the process of the second application,
the first data object includes a first portion that is subject to a sharing restriction and a second portion that is not subject to the sharing restriction, and
the data object data includes the second portion without including the first portion;
substituting graphic content corresponding to the first portion of the first data object with replacement content;
providing to the process of the operating system, by the process of the second application, a second data object different from the first data object;
rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the first data object in the three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object;
rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the second data object in the three-dimensional computer-generated reality environment; and
causing a display of the rendered three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object.
2. The electronic device of claim 1 , the one or more programs including instructions for:
generating, by the process of the first application, the first data object; and
generating, by the process of the second application, the second data object.
3. The electronic device of claim 1 , wherein the first data object includes data representative of one or more of:
one or more properties of the first data object;
one or more behaviors of the first data object; and
one or more events of the first data object.
4. The electronic device of claim 3 , wherein the one or more properties include a value indicative of an appearance of the rendered three-dimensional representation of the first data object, wherein the three-dimensional representation of the first data object is rendered based on the value indicative of the appearance.
5. The electronic device of claim 3 , wherein the one or more behaviors are indicative of one or more actions by the three-dimensional representation of the first data object in the computer-generated reality environment.
6. The electronic device of claim 3 , wherein the one or more events are indicative of one or more actions by the three-dimensional representation of the first data object performed in response to a state change in the computer-generated reality environment.
7. The electronic device of claim 1 , wherein the process of the operating system operates at a kernel level access level.
8. The electronic device of claim 1 , wherein the process of the first application and the process of the second application operate at a lower access level than a kernel level access level.
9. The electronic device of claim 1 , wherein the three-dimensional representation of the first data object is rendered based on the first data object and the second data object.
10. The electronic device of claim 1 , wherein the operating system and the first application are associated with different service providers.
11. The electronic device of claim 1 , wherein the first application and the second application are associated with different service providers.
12. The electronic device of claim 1 , wherein the electronic device is a headset base station.
13. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for:
receiving a first input indicative of a request to launch a first application in a three-dimensional computer-generated reality environment;
in response to receiving the first input, initiating a process of the first application;
receiving a second input indicative of a request to launch a second application different from the first application in the three-dimensional computer-generated reality environment;
in response to receiving the second input, initiating a process of the second application different from the process of the first application;
providing to a process of an operating system of the electronic device, by the process of the first application, data object data for a first data object, wherein:
the process of the operating system is different from the process of the first application and from the process of the second application,
the first data object includes a first portion that is subject to a sharing restriction and a second portion that is not subject to the sharing restriction, and
the data object data includes the second portion without including the first portion;
substituting graphic content corresponding to the first portion of the first data object with replacement content;
providing to the process of the operating system, by the process of the second application, a second data object different from the first data object;
rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the first data object in the three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object;
rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the second data object in the three-dimensional computer-generated reality environment; and
causing a display of the rendered three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object.
14. The non-transitory computer-readable storage medium of claim 13 , the one or more programs including instructions for:
generating, by the process of the first application, the first data object; and
generating, by the process of the second application, the second data object.
15. The non-transitory computer-readable storage medium of claim 13 , wherein the first data object includes data representative of one or more of:
one or more properties of the first data object;
one or more behaviors of the first data object; and
one or more events of the first data object.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more properties include a value indicative of an appearance of the rendered three-dimensional representation of the first data object, wherein the three-dimensional representation of the first data object is rendered based on the value indicative of the appearance.
17. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more behaviors are indicative of one or more actions by the three-dimensional representation of the first data object in the computer-generated reality environment.
18. The non-transitory computer-readable storage medium of claim 13 , wherein the process of the operating system operates at a kernel level access level.
19. The non-transitory computer-readable storage medium of claim 13 , wherein the process of the first application and the process of the second application operate at a lower access level than a kernel level access level.
20. A method for providing a computer-generated reality platform capable of generating a three-dimensional computer-generated reality environment, the method comprising:
at an electronic device with one or more processors and memory:
receiving a first input indicative of a request to launch a first application in the three-dimensional computer-generated reality environment;
in response to receiving the first input, initiating a process of the first application;
receiving a second input indicative of a request to launch a second application different from the first application in the three-dimensional computer-generated reality environment;
in response to receiving the second input, initiating a process of the second application different from the process of the first application;
providing to a process of an operating system of the electronic device, by the process of the first application, data object data for a first data object, wherein:
the process of the operating system is different from the process of the first application and from the process of the second application,
the first data object includes a first portion that is subject to a sharing restriction and a second portion that is not subject to the sharing restriction, and
the data object data includes the second portion without including the first portion;
substituting graphic content corresponding to the first portion of the first data object with replacement content;
providing to the process of the operating system, by the process of the second application, a second data object different from the first data object;
rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the first data object in the three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object;
rendering, by the process of the operating system of the electronic device, a three-dimensional representation of the second data object in the three-dimensional computer-generated reality environment; and
causing a display of the rendered three-dimensional computer-generated reality environment with the replacement content substituting the graphic content corresponding to the first portion of the first data object.
21. The method of claim 20 , further comprising:
generating, by the process of the first application, the first data object; and
generating, by the process of the second application, the second data object.
22. The method of claim 20 , wherein the first data object includes data representative of one or more of:
one or more properties of the first data object;
one or more behaviors of the first data object; and
one or more events of the first data object.
23. The method of claim 22 , wherein the one or more properties include a value indicative of an appearance of the rendered three-dimensional representation of the first data object, wherein the three-dimensional representation of the first data object is rendered based on the value indicative of the appearance.