3D Scene Rendering Controller With Shared Viewer Caches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional rendering methods in 3D virtual environments require individual and independent computations for each viewer, leading to duplicated efforts and storage issues, which results in resampling problems and discontinuities across object boundaries.
Innovation Solution
A rendering controller that determines light transport and computes rendering characteristics for multiple viewers, storing these in a cache associated with objects or spaces, allowing sharing of computations among viewers with overlapping or nearby views.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If individual and independent rendering computations are performed for each viewer, then each viewer can receive customized rendering based on their view location, but computational costs increase linearly with the number of viewers and rendering efficiency decreases
Solution Approach 1:
The patent merges rendering computations by grouping viewers based on their view locations and overlapping regions. Instead of rendering independently for each viewer, the system computes rendering characteristics once for a group of viewers who share similar viewing perspectives, thereby reducing redundant computations while maintaining customized rendering for each viewer.
Solution Approach 2:
The rendering controller computes rendering characteristics that serve multiple viewers simultaneously. By determining light transport and material model evaluations that are valid for multiple viewers with overlapping views, the system creates universal rendering results that can be distributed to multiple viewers without requiring separate computations for each one.
2Ease of operation
If rendering is driven from the output side (screen space) for each individual client, then rendering can be optimized for each viewer's current view, but storage and reuse of screen space leads to resampling issues and discontinuities across object boundaries
Solution Approach 1:
Instead of driving rendering from the output side (screen space) for each viewer, the patent inverts the approach by driving rendering from the input side (3D scene space). The rendering controller determines light transport and computes rendering characteristics in the 3D scene based on viewer positions and overlapping regions, then distributes these pre-computed characteristics to multiple viewers. This eliminates the need for screen space storage and reuse, avoiding resampling issues and discontinuities while maintaining optimization for each viewer's perspective.
3Quantity of substance
If all rendering computations are duplicated for multiple viewers, then each viewer receives complete rendering data, but computational resources are wasted and the relationship between instance count and computation efforts becomes strictly linear
Solution Approach 1:
The patent merges rendering computations by identifying groups of viewers who share overlapping view regions. Instead of duplicating all rendering computations for each viewer, the system computes rendering characteristics once for each group and distributes these shared results to all members of the group. This significantly reduces the total computational workload while ensuring that each viewer receives the necessary rendering data for their perspective.
Solution Approach 2:
The rendering controller computes rendering characteristics to the extent necessary for multiple viewers simultaneously, rather than computing completely separate renderings for each viewer. By determining light transport and material model evaluations that are valid for multiple viewers with overlapping views, the system performs partial computations that serve multiple purposes, avoiding redundant computational effort while maintaining sufficient data availability for all viewers.
Data Source
AI summary
One example rendering controller is configured to render a three-dimensional (3D) scene for a plurality of viewers, where the 3D scene includes a first plurality of objects and each viewer has a scene view of the 3D scene, where the rendering controller includes at least one processor and one or more memories coupled to the at least one processor and storing programming instructions for execution by the at least one processor to determine light transport for each scene view; determine, for each scene view, one or more objects affecting the scene view based on the light transport; compute respective rendering characteristics for each of a second plurality of objects affecting a scene view; store the respective rendering characteristics in a rendering cache associated with a corresponding object of the second plurality of objects; and compute display characteristics for the scene view based on the plurality of rendering caches.


