Ray Tracing Visibility Stream for 3D Bin Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing techniques require significant memory and processing power for pixel rendering of 3D objects, limiting 3D graphics capabilities to powerful workstations, but advancements have made 3D graphics accelerators accessible in personal computers and embedded devices, necessitating more efficient rendering methods.
Innovation Solution
The method involves dividing a render target into bins and performing a visibility pass using ray tracing to generate a visibility stream, indicating visible primitives in each bin, followed by rasterization to render only visible primitives, thereby optimizing memory usage and processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional pixel rendering techniques are used for 3D objects, then visual content can be generated for display, but significant memory and processing power are required
Solution Approach 1:
The render target is divided into multiple bins, allowing the system to process and render only the portions of the image that contain visible primitives. This segmentation enables selective rendering that reduces overall memory and processing requirements while maintaining 3D graphics capability.
Solution Approach 2:
A visibility pass is performed before the actual rendering to determine which primitives are visible in each bin. This preliminary action generates visibility information that guides subsequent rendering operations, preventing unnecessary processing of invisible primitives and reducing total computational load.
2Productivity
If all primitives are rendered regardless of visibility, then complete image data is generated, but processing efficiency is reduced due to unnecessary rendering operations
Solution Approach 1:
The visibility pass is performed as a preliminary action to identify visible primitives before rendering. This allows the system to skip rendering operations for invisible primitives, significantly improving processing efficiency and reducing time wasted on unnecessary rendering operations.
Solution Approach 2:
The system extracts only the necessary rendering operations by using visibility information to select which primitives should be rendered. This extraction approach removes unnecessary rendering operations for invisible primitives, optimizing processing efficiency.
3Measurement precision
If ray tracing is used to determine visibility, then accurate visibility information is obtained, but additional processing steps are required
Solution Approach 1:
The processing pipeline is segmented into distinct passes: a visibility pass using ray tracing to determine visible primitives, and a rendering pass that processes only visible primitives. This segmentation allows accurate visibility determination while managing overall system complexity through modular processing stages.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method and apparatus for rendering includes dividing a render target into a plurality of bins (341). Next, a visibility pass is performed using ray tracing to generate a visibility stream such that the visibility stream indicates, for each bin of the plurality of bins, which primitives are visible in the bin (342). Then, for at least one bin of the plurality of bins, each primitive in the bin that is indicated in the visibility stream as being visible in the bin is rendered (343).