# US 12,118,646 B1 · Transitional effects in real-time rendering applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,646 B1
- Document ID: US12118646B1
- Status: Granted
- Kind: B1
- Application number: 17/562,061
- Filed: 2021-12-27
- Granted: 2024-10-15
- Earliest claimed: 2018-08-28
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Xiaobo An; Peter Dollar; Eric J. Mueller; Brendan K. Duncan
- Web page: https://patentgrep.com/patent/US12118646B1

## CPC

- G06T 11/00: Two-dimensional [2D] image generation
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06T 2210/52: Parallel processing
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for transitional effects in real-time rendering applications are described. Some implementations may include rendering a computer-generated reality environment in a first state using an application that includes multiple processes associated with respective objects of the computer-generated reality environment; generating a message that indicates a change in the computer-generated reality environment; sending the message to two or more of the multiple processes associated with respective objects of the computer-generated reality environment; responsive to the message, updating configurations of objects of the computer-generated reality environment to change the computer-generated reality environment from the first state to a second state; and rendering the computer-generated reality environment in the second state using the application.

## Claims

### Claim 1

A system comprising:
a display; and
a processing apparatus configured to:
render, for presentation on the display, a computer-generated reality environment in a first state using an application that includes multiple processes associated with respective objects of the computer-generated reality environment, wherein each of the multiple processes includes one or more threads and is associated with a respective object separately from other parts of the computer-generated reality environment;
generate a message that indicates a change in the computer-generated reality environment;
send the message to two or more of the multiple processes associated with respective objects of the computer-generated reality environment;
responsive to the message, update configurations of objects of the computer-generated reality environment to change the computer-generated reality environment from the first state to a second state; and
render, for presentation on the display, the computer-generated reality environment in the second state using the application.

### Claim 2 (depends on 1)

The system of claim 1, wherein the application includes a broadcast process that sends the message, wherein the two or more of the multiple processes associated with respective objects of the computer-generated reality environment include listening threads that receive the message, and the processing apparatus is configured to:
register the listening threads with the broadcast process.

### Claim 3 (depends on 1)

The system of claim 1, wherein the application includes a broadcast process that sends the message, and the processing apparatus is configured to:
use the broadcast process to send the message to all processes of the application that are associated with respective objects of the computer-generated reality environment.

### Claim 4 (depends on 1)

The system of claim 1, wherein the application includes a simulation process that coordinates objects of the computer-generated reality environment and renders views of the computer-generated reality environment, and the message is sent by the simulation process.

### Claim 5 (depends on 1)

The system of claim 1, wherein the message includes an indication of a transition period and the processing apparatus is configured to:
responsive to the message, update the configurations of objects of the computer-generated reality environment in a sequence of intermediate steps to gradually transition the computer-generated reality environment from the first state to the second state via a sequence of intermediate states over the transition period; and
render, for presentation on the display, the computer-generated reality environment in the sequence of intermediate states using the application.

### Claim 6 (depends on 1)

The system of claim 1, wherein the message includes a configuration category and corresponding configuration value.

### Claim 7 (depends on 1)

The system of claim 1, wherein the message includes an indication of weather for the computer-generated reality environment.

### Claim 8 (depends on 1)

The system of claim 1, wherein the message includes an indication of time of day for the computer-generated reality environment.

### Claim 9 (depends on 1)

The system of claim 1, wherein the message includes an indication of a room type for the computer-generated reality environment.

### Claim 10 (depends on 1)

The system of claim 1, wherein the message is sent using event-based signaling.

### Claim 11 (depends on 1)

The system of claim 1, wherein the message is sent via an inter-process message queue.

### Claim 12 (depends on 1)

The system of claim 1, wherein the message is generated based on user input received via a user interface.

### Claim 13 (depends on 1)

The system of claim 1, wherein the application is a computer-generated reality application.

### Claim 14 (depends on 1)

The system of claim 1, wherein multiple developers respectively control code implementing the multiple processes associated with the respective objects of the computer-generated reality environment, but the message enables a single user to implement a high-level configuration change across the respective objects of the computer-generated reality environment.

### Claim 15

A method comprising:
rendering a computer-generated reality environment in a first state using an application that includes multiple processes associated with respective objects of the computer-generated reality environment, wherein each of the multiple processes includes one or more threads and is associated with a respective object separately from other parts of the computer-generated reality environment;
generating a message that indicates a change in the computer-generated reality environment;
sending the message to two or more of the multiple processes associated with respective objects of the computer-generated reality environment;
responsive to the message, updating configurations of objects of the computer-generated reality environment to change the computer-generated reality environment from the first state to a second state; and
rendering the computer-generated reality environment in the second state using the application.

### Claim 16 (depends on 15)

The method of claim 15, wherein the application includes a broadcast process that sends the message, the two or more of the multiple processes associated with respective objects of the computer-generated reality environment include listening threads that receive the message, and comprising:
registering the listening threads with the broadcast process.

### Claim 17 (depends on 15)

The method of claim 15, wherein the application includes a broadcast process that sends the message, and comprising:
using the broadcast process, sending the message to all processes of the application that are associated with respective objects of the computer-generated reality environment.

### Claim 18 (depends on 15)

The method of claim 15, wherein the application includes a simulation process that coordinates objects of the computer-generated reality environment and renders views of the computer-generated reality environment, and the message is sent by the simulation process.

### Claim 19 (depends on 15)

The method of claim 15, wherein the message includes an indication of a transition period, and comprising:
responsive to the message, updating the configurations of objects of the computer-generated reality environment in a sequence of intermediate steps to gradually transition the computer-generated reality environment from the first state to the second state via a sequence of intermediate states over the transition period; and
rendering the computer-generated reality environment in the sequence of intermediate states using the application.

### Claim 20

A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a processor, facilitate performance of operations comprising:
rendering a computer-generated reality environment in a first state using an application that includes multiple processes associated with respective objects of the computer-generated reality environment, wherein each of the multiple processes includes one or more threads and is associated with a respective object separately from other parts of the computer-generated reality environment;
generating a message that indicates a change in the computer-generated reality environment;
sending the message to two or more of the multiple processes associated with respective objects of the computer-generated reality environment;
responsive to the message, updating configurations of objects of the computer-generated reality environment to change the computer-generated reality environment from the first state to a second state; and
rendering the computer-generated reality environment in the second state using the application.
