Multi-View Rendering via Interleaved Pixel Block Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-view rendering, existing technologies face challenges in optimizing device performance and battery life due to the need for rendering a single scene multiple times from different perspectives, which can be resource-intensive and inefficient.
Innovation Solution
The method involves dividing views into pixel blocks based on processor capabilities, interleaving the rasterization and rendering of primitive objects across these blocks between multiple views, and caching resources used in rendering to improve cache efficiency and reduce memory utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single geometric graph is rendered for multiple views from different perspectives, then multi-view rendering capability is achieved, but device performance and battery life deteriorate due to resource-intensive repeated rendering
Solution Approach 1:
The rendering process is segmented into two distinct phases: a first pass that processes only geometry and depth information to generate depth buffers and depth-stencil masks, and a second pass that uses these masks to selectively render pixels for each view. This segmentation allows the system to achieve multi-view rendering capability while reducing per-pass computational load, as the first pass shares common geometry processing across all views and the second pass only processes pixels that actually contain primitive objects.
Solution Approach 2:
The first pass performs preliminary processing by generating depth buffers and depth-stencil masks before the actual view-specific rendering. These pre-computed depth masks identify which pixels contain primitive objects and will need rendering in subsequent passes. This preliminary action eliminates the need to re-process geometry information for each view, significantly reducing redundant computations and improving device performance.
2Area of stationary object
If a single geometric graph is rendered for multiple views, then comprehensive scene coverage is achieved, but rendering efficiency deteriorates due to rendering the same scene multiple times
Solution Approach 1:
The patent merges the rendering of multiple views by using a single first pass to process all geometry for all views simultaneously, generating shared depth buffers and depth-stencil masks. The second pass then merges the view-specific rendering operations by using these shared masks to efficiently render each view. This merging approach maintains comprehensive scene coverage across multiple views while dramatically improving rendering efficiency by eliminating redundant geometry processing.
Solution Approach 2:
The depth buffers and depth-stencil masks generated in the first pass are copied and reused across all second passes for different views. Instead of re-processing geometry for each view, the system creates view-specific render passes that leverage the pre-computed depth information. This copying approach ensures comprehensive scene coverage is maintained while avoiding the inefficiency of rendering the same geometric data multiple times.
Data Source
AI summary
According to one aspect of the present disclosure, there is provided a method that includes: determining a block size according to capabilities of a processor; dividing a first view into a plurality of first pixel blocks having the block size and a second view into a plurality of second pixel blocks having the block size; rasterizing a primitive object to produce a subset of the first pixel blocks for the first view and a subset of the second pixel blocks for the second view; and rendering the subsets of the first and second pixel blocks produced for the primitive object to produce a first image for the first view and a second image for the second view, where the rendering is interleaved between the subsets of the first and second pixel blocks occupied by the primitive object in the first and second views.


