# US 2014/0198097 A1 · Continuous and dynamic level of detail for efficient point cloud object rendering

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

- Number: US 2014/0198097 A1
- Document ID: US20140198097A1
- Status: Published application
- Kind: A1
- Application number: 13/742,354
- Filed: 2013-01-16
- Published: 2014-07-17
- Earliest claimed: 2013-01-16
- Assignees: Microsoft Corporation
- Applicants: Microsoft Corporation
- Inventors: Patrick Wayne John Evans
- Web page: https://patentgrep.com/patent/US20140198097A1

## CPC

- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 2210/36: Level of detail
- G06T 2210/56: Particle system, point based geometry or rendering
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Rendering real-time three-dimensional computer models is a resource-intensive task, and even more so for point cloud objects. Level of detail is traditionally performed using a small number of fixed-size independent models. A new system is presented of rendering point cloud objects with efficient dynamic level of detail. Several novel point cloud dynamic level of detail techniques are presented that are fairly simple to implement and significantly more efficient in terms of managing rendering load, data reduction, and memory consumption. The novel point cloud dynamic level of detail techniques can be employed to optimize or otherwise improve the rendering efficiency of rendering point cloud objects.

## Claims

### Claim 1

A method, executable on a computing device having a processor, for rendering a pre-ordered point cloud list that enables dynamic level of detail, comprising:
receiving a three-dimensional object pre-ordered point cloud list enabling dynamic level of detail for rendering the object,
wherein the pre-ordered point cloud list preserves an attribute of the list enabling dynamic level of detail;
determining a level of detail index for the point cloud list;
identifying a start element of the point cloud list;
identifying a stop element in the point cloud list, wherein the stop element is identified based on the level of detail index;
iterating the list from said start element of the point cloud list to said stop element, wherein the iterating for each element comprises:
sending the each element to a rendering interface for rendering a point cloud point, and
causing a rendering, via the rendering interface, in three dimensions of the point cloud point on a rendering surface.

### Claim 2 (depends on 2)

The method of claim 2, wherein said level of detail index is computed based on at least one of: a distance from the camera to the three-dimensional object, a number of objects in a scene, a desired frame rate.

### Claim 3 (depends on 2)

The method of claim 2, wherein said level of detail index is computed based on a level of detail factor and a length of the point cloud list.

### Claim 4 (depends on 2)

The method of claim 2, wherein the start element of the point cloud list comprises a least level of detail for the point cloud list.

### Claim 5 (depends on 2)

The method of claim 2, wherein the pre-ordered point cloud list attribute preserved comprises a three dimensional barycenter of the points of the pre-ordered point cloud list.

### Claim 6 (depends on 2)

The method of claim 2, wherein the pre-ordered point cloud list attribute preserved comprises an average surface density of the points of the pre-ordered point cloud list.

### Claim 7 (depends on 2)

The media of claim 2, wherein the three-dimensional object is a node in a multiple-object point cloud object data structure configured to store objects in a scene.

### Claim 8

A system for rendering a pre-ordered point cloud list that enables dynamic level of detail comprising:
a processor;
a display capable of rendering output;
a rendering interface for rendering output to the display;
a memory containing instructions executable to perform the method of:
receiving a three-dimensional object pre-ordered point cloud list enabling dynamic level of detail for rendering the object,
wherein the pre-ordered point cloud list preserves an attribute of the list enabling dynamic level of detail;
determining a level of detail index for the point cloud list;
identifying a start element of the point cloud list;
identifying a stop element in the point cloud list, wherein the stop element is identified based on the level of detail index;
iterating the list from said start element of the point cloud list to said stop element, wherein the iterating for each element comprises:
sending the each element to the rendering interface for rendering a point cloud point, and
causing a rendering, via the rendering interface, in three dimensions of the point cloud point on the display capable of rendering output.

### Claim 9 (depends on 8)

The rendering system of claim 8, wherein said level of detail index is computed based on at least one of: a distance from the camera to the three-dimensional object, a number of objects in a scene, a desired frame rate.

### Claim 10 (depends on 8)

The rendering system of claim 8, wherein said level of detail index is computed based on a level of detail factor and a length of the point cloud list.

### Claim 11 (depends on 8)

The rendering system of claim 8, wherein the start element of the point cloud list comprises a least level of detail for the point cloud list.

### Claim 12 (depends on 8)

The rendering system of claim 8, wherein the pre-ordered point cloud list attribute preserved comprises a three dimensional barycenter of the points of the pre-ordered point cloud list.

### Claim 13 (depends on 8)

The rendering system of claim 8, wherein the pre-ordered point cloud list attribute preserved comprises an average surface density of the points of the pre-ordered point cloud list.

### Claim 14

One or more computer-readable media, having computer-executable instructions embodied thereon that perform a method executable on a computing device having a processor, for rendering a pre-ordered point cloud list that enables dynamic level of detail comprising:
receiving a three-dimensional object pre-ordered point cloud list enabling dynamic level of detail for rendering the object,
wherein the pre-ordered point cloud list preserves an attribute of the list enabling dynamic level of detail;
determining a level of detail index for the point cloud list;
identifying a start element of the point cloud list;
identifying a stop element in the point cloud list, wherein the stop element is identified based on the level of detail index;
iterating the list from said start element of the point cloud list to said stop element, wherein the iterating for each element comprises:
sending the each element to a rendering interface for rendering a point cloud point, and
causing a rendering, via the rendering interface, in three dimensions of the point cloud point on a rendering surface.

### Claim 15 (depends on 14)

The media of claim 14, wherein said level of detail index is computed based on at least one of: a distance from the camera to the three-dimensional object, a number of objects in a scene, a desired frame rate.

### Claim 16 (depends on 14)

The media of claim 14, wherein said level of detail index is computed based on a level of detail factor and a length of the point cloud list.

### Claim 17 (depends on 14)

The media of claim 14, wherein the start element of the point cloud list comprises a least level of detail for the point cloud list.

### Claim 18 (depends on 14)

The media of claim 14, wherein the pre-ordered point cloud list attribute preserved comprises a three dimensional barycenter of the points of the pre-ordered point cloud list.

### Claim 19 (depends on 14)

The media of claim 14, wherein the pre-ordered point cloud list attribute preserved comprises an average surface density of the points of the pre-ordered point cloud list.

### Claim 20 (depends on 14)

The media of claim 14, wherein the three-dimensional object is a node in a multiple-object point cloud object data structure configured to store objects in a scene.
