Point Cloud Rendering Using Ray-Traced Bounding Box Intersections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for rendering 3D point clouds are computationally expensive due to the need for sorting points from front to back and processing all points, even those that do not contribute to pixel color, leading to overdraw.
Innovation Solution
A method using ray tracing to determine contributing points by intersecting rays with bounding boxes, allowing for efficient rasterization and early termination when opacity threshold is reached, and utilizing a bounding volume hierarchy to optimize sorting and reduce redundant calculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all points are sorted and rasterised using traditional methods, then complete pixel coverage is achieved, but computational cost increases due to processing all points including non-contributing ones
Solution Approach 1:
The patent extracts only the necessary point data required for pixel coverage by using ray tracing to identify contributing points. Instead of processing all points in the cloud, the system traces rays from the camera through each pixel and collects only the points that intersect with these rays, thereby extracting only the essential information needed for accurate rendering without unnecessary computational overhead
Solution Approach 2:
The patent introduces ray tracing as an intermediary mechanism between the camera and point cloud. Rays serve as mediators that carry pixel information through the 3D space, allowing the system to determine which points contribute to each pixel by checking ray-point intersections. This intermediary approach enables efficient selection of contributing points without requiring full sorting and processing of the entire point cloud
2Reliability
If all points are transformed and processed in vertex and pixel stages, then complete rendering coverage is achieved, but redundant calculations increase leading to overdraw
Solution Approach 1:
The patent extracts only the point data necessary for rendering by using ray tracing to identify contributing points. Instead of transforming and processing all points in the vertex and pixel stages, the system traces rays from the camera through each pixel and collects only the points that intersect with these rays, thereby extracting only the essential information needed for accurate rendering without unnecessary computational overhead
Solution Approach 2:
The patent skips the transformation and processing steps for non-contributing points by using ray tracing to pre-identify which points are needed. By checking ray-point intersections first, the system can rush through the rendering process by only transforming and processing the subset of points that actually contribute to pixel coverage, eliminating redundant calculations for points that would not be visible or contribute to the final image
3Reliability
If points are sorted from front to back, then correct occlusion handling is achieved, but sorting operation becomes expensive for large point clouds
Solution Approach 1:
The patent inverts the traditional rendering approach by instead of sorting points from front to back, it traces rays from the camera through each pixel and collects points based on their intersection with these rays. This inversion eliminates the need for explicit sorting while maintaining correct occlusion handling, as the ray tracing process naturally processes points in the correct visual order from the camera's perspective
Solution Approach 2:
The patent replaces the mechanical sorting operation with a ray tracing-based selection mechanism. Instead of using computational sorting algorithms to order points by depth, the system uses geometric ray-tracing to identify contributing points, substituting a more efficient geometric intersection-based approach for the more complex sorting operation
Data Source
AI summary
There is provided a computer-implemented method of rendering an image using a point cloud, the method comprising: receiving a point cloud comprising a plurality of points, each point comprising an extent defined by a three-dimensional extent function, centred on a centre point; for each of a plurality of points in the point cloud, determining a bounding box enclosing the point; performing ray tracing from a camera view from which the image is to be rendered; determining one or more contributing points, which contribute to the color of a pixel in the image, by determining an intersection of a ray with one or more bounding boxes enclosing the contributing points; and determining the color of the pixel based on the contributing points.


