# US 2018/0322692 A1 · Centralized rendering

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

- Number: US 2018/0322692 A1
- Document ID: US20180322692A1
- Status: Published application
- Kind: A1
- Application number: 16/011,413
- Filed: 2018-06-18
- Published: 2018-11-08
- Earliest claimed: 2017-03-30
- Assignees: Magic Leap, Inc.
- Applicants: Magic Leap, Inc.
- Inventors: Praveen BABU JD
- Web page: https://patentgrep.com/patent/US20180322692A1

## CPC

- G06T 17/005: {Tree description, e.g. octree, quadtree}
- G06T 15/80: Shading
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G06T 15/005: {General purpose rendering architectures}
- G06T 2210/21: Collision detection, intersection
- G06T 2210/61: Scene description
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method is disclosed, the method comprising the steps of receiving, from a first client application, first graphical data comprising a first node; receiving, from a second client application independent of the first client application, second graphical data comprising a second node; and generating a scenegraph, wherein the scenegraph describes a hierarchical relationship between the first node and the second node according to visual occlusion relative to a perspective from a display.

## Claims

### Claim 1

A method comprising:
receiving, from a first client application of a computer system, a first graphical data comprising a plurality of first nodes;
receiving, from a second client application of the computer system, a second graphical data comprising a plurality of second nodes;
generating a scenegraph, wherein:
the scenegraph describes an occlusion relationship between at least one first node of the plurality of first nodes and at least one second node of the plurality of second nodes, and
the scenegraph is configured to create a rendered scene based on the occlusion relationship, wherein at least one second node occludes at least one first node.

### Claim 2 (depends on 1)

The method of claim 1, further comprising traversing, by the processor of the computer system, the scenegraph.

### Claim 3 (depends on 2)

The method of claim 2, wherein the computer system is configured to communicate with a display, and the method further comprises displaying an output on the display.

### Claim 4 (depends on 3)

The method of claim 3, wherein displaying the output comprises displaying at least one first node of the plurality of first nodes and at least one second node of the plurality of second nodes.

### Claim 5 (depends on 4)

The method of claim 4, wherein displaying the output consists of displaying at least one first node.

### Claim 6 (depends on 2)

The method of claim 2, further comprising applying, at the computer system, an optimization to the output.

### Claim 7 (depends on 6)

The method of claim 6, wherein applying the optimization comprises culling a surface.

### Claim 8 (depends on 2)

The method of claim 2, further comprising applying, at the computer system, a visual effect to the output.

### Claim 9 (depends on 8)

The method of claim 8, wherein applying the visual effect comprises calculating a light value.

### Claim 10 (depends on 8)

The method of claim 8, wherein applying the visual effect comprises executing a shader.

### Claim 11 (depends on 2)

The method of claim 2, further comprising applying, at the computer system, a physical effect to the output.

### Claim 12 (depends on 11)

The method of claim 11, wherein applying the physical effect comprises detecting a collision.

### Claim 13 (depends on 1)

The method of claim 1, wherein the first client application is a first application executing on the computer system, the second client application is a second application executing on the computer system, and the first client application is sandboxed on the computer system with respect to the second client application.

### Claim 14 (depends on 1)

The method of claim 1, wherein:
the first graphical data corresponds to a first client scenegraph associated with the first client application,
the second graphical data corresponds to a second client scenegraph associated with the second client application,
the first client scenegraph is sandboxed on the computer system with respect to the second client scenegraph,
the first client scenegraph is sandboxed on the computer system with respect to the scenegraph, and
the second client scenegraph is sandboxed on the computer system with respect to the scenegraph.

### Claim 15 (depends on 1)

The method of claim 1, wherein the scenegraph corresponds to aversion of a versioned scenegraph.

### Claim 16 (depends on 1)

The method of claim 1, wherein the first graphical data is communicated to the scenegraph using a first processing thread of the computer system, and the second graphical data is communicated to the scenegraph using a second processing thread of the computer system independent of the first processing thread.
