GPU Point Cloud Rendering with Dynamic Ellipse Shapes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods fail to efficiently render point clouds in a visually appealing manner, especially when zooming in, as they lack the ability to dynamically adjust point size and shape based on density and surface normal, leading to sparse or dense areas that are not aesthetically pleasing.

Innovation Solution

The solution involves compactly encoding 3D point cloud data with surface normals on a GPU, expanding each point into a deformed ellipse whose size and shape are calculated based on density and surface normal relative to the camera, allowing for high-fidelity rendering that fills gaps in sparse areas while maintaining detail in dense parts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If point size is increased to fill sparse areas, then coverage is improved, but detail in dense areas is lost

Engineering Contradiction:
Improvepoint coverage areaVSAvoiddetail preservation
Core Design Contradiction:
Area of stationary objectVSManufacturing precision

Solution Approach 1:

The patent applies local quality by making each point's size and shape adaptive to its local environment. Points in sparse areas are expanded into larger ellipses to fill gaps, while points in dense areas maintain smaller sizes to preserve detail. This is achieved by calculating density metrics locally around each point and using those metrics to determine the appropriate ellipse dimensions, allowing different regions of the point cloud to have different rendering characteristics.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by making point sizes and shapes dynamically adjustable based on viewing conditions and density calculations. The ellipse parameters (size, orientation, shape) are not fixed but are computed dynamically for each point based on its local density, the surface normal, and the camera angle. This allows the rendering to adapt in real-time as the user zooms or rotates the view, maintaining visual quality across different zoom levels.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If point size is dynamically adjusted based on density, then visual appeal is improved, but rendering complexity increases

Engineering Contradiction:
Improvevisual adaptabilityVSAvoidrendering complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces complex CPU-based geometry generation with GPU-based vertex shader computations. Instead of generating complex geometric primitives on the CPU and streaming them to the GPU, the system uses vertex shaders to compute ellipse parameters directly on the GPU for each point. This substitution of the rendering mechanism from CPU-based geometry expansion to GPU-based parameter calculation significantly reduces complexity while maintaining visual adaptability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the rendering approach from using fixed geometric primitives to using parameterized ellipses with dynamically computed properties. Each point is rendered as an ellipse whose size, orientation, and shape are defined by parameters calculated from local density, surface normals, and camera orientation. This parameter-based approach allows for visual adaptability while keeping the rendering pipeline efficient, as the GPU can compute and apply these parameters in parallel for all points.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If all points are rendered with constant size, then rendering speed is maintained, but sparse areas appear empty

Engineering Contradiction:
Improverendering speedVSAvoidvisual quality
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent changes the size parameter of points from a constant value to a dynamically computed value based on local density. Each point's ellipse size is determined by calculating the density of points in its neighborhood, allowing points in sparse areas to be rendered larger than points in dense areas. This parameter change maintains rendering speed because the calculations are performed efficiently in parallel on the GPU using vertex shaders, while simultaneously improving visual quality by adapting to local density variations.

Inventive Principle:
Principle #35Parameter changes

4Manufacturing precision

If point cloud data is expanded into geometric primitives on CPU, then rendering fidelity is improved, but data loading time increases

Engineering Contradiction:
Improverendering fidelityVSAvoiddata loading time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent substitutes CPU-based geometric primitive generation with GPU-based vertex shader computation. Instead of loading pre-expanded geometry from the CPU, the system streams compact point data to the GPU and uses vertex shaders to generate ellipse parameters on-the-fly during rendering. This substitution eliminates the need for CPU-side geometry expansion and data streaming, reducing data loading time while maintaining rendering fidelity through real-time parameter computation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary organization of point cloud data into a format suitable for GPU processing, including computing and storing surface normals and density metrics in advance. This preliminary preparation allows the GPU to efficiently compute ellipse parameters during rendering without requiring real-time CPU intervention for data expansion. The compact data structure is pre-organized to enable fast GPU access and parallel computation, reducing loading time while preserving the ability to generate high-fidelity visualizations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10347034B2Out-of-core point rendering with dynamic shapes
Publication Date: 2019.07.09 AUTODESK INC
  • US10347034B2 patent drawing
  • US10347034B2 patent drawing
  • US10347034B2 patent drawing

AI summary

A method, apparatus, and system provides the ability to process and render a point cloud. The points in the point cloud are grouped into three-dimensional (3D) voxels. A position of each of the points is stored in the point data file. The position is with respect to a location of the point's corresponding 3D voxel. Surface normal data for a surface normal associated with each of the points is also stored in the point data file. The points are organized into levels of details (LODs). The point data file is provided to a graphics processing unit (GPU) that processes the point data file to render the point cloud. During rendering, a LOD is selected to determine the points in the point cloud to render.