Server-Client Shadow Rendering for Mobile 3D
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional shadow mapping techniques in 3D computer graphics are resource-intensive and not scalable for mobile devices, leading to issues like shadow acne and perspective aliasing, and require frequent updates, which is challenging for devices with limited processing power and bandwidth.
Innovation Solution
A server-based method that generates a view-independent shadow interval map for 2.5D city scenes with a fixed light path, which is streamed to clients, allowing efficient shadow evaluation and reducing common shadow mapping artifacts, enabling low-computation rendering of shadows on mobile devices even during network outages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional shadow mapping is used, then real-time shadow rendering is achieved, but mobile devices experience high computation cost and power consumption
Solution Approach 1:
The patent divides the shadow rendering task into two segments: pre-computation of shadow maps is performed on a server during off-peak hours, and only the pre-computed shadow data is transmitted to mobile devices. This segmentation allows the computationally intensive part to be separated from the mobile device, reducing its power consumption while maintaining real-time rendering capability.
Solution Approach 2:
Shadow maps are pre-computed and prepared in advance on the server before being transmitted to mobile devices. This preliminary action ensures that when the mobile device receives the shadow data, it only needs to perform minimal blending operations, significantly reducing computation cost and power consumption during actual rendering.
2Measurement precision
If shadow map resolution is increased to reduce aliasing, then shadow quality improves, but data transmission bandwidth requirements increase
Solution Approach 1:
The patent applies different quality levels to different regions of the shadow map based on their importance. Areas that are more visible or critical to the scene receive higher resolution, while less important areas use lower resolution. This local quality approach maintains shadow accuracy where needed while reducing overall data transmission requirements.
3Reliability
If frequent shadow map updates are performed to track light movement, then shadow accuracy is maintained, but computation and network overhead increase
Solution Approach 1:
The patent implements periodic updates of shadow maps based on the movement of light sources rather than continuous updates. Shadow maps are refreshed at intervals that maintain visual accuracy while avoiding unnecessary computation and network transmission. This periodic approach balances shadow accuracy with reduced overhead.
Solution Approach 2:
The system dynamically adjusts the shadow map update frequency based on light source movement speed and scene importance. When light sources move slowly or in less critical areas, update frequency is reduced. When fast movement or high importance is detected, updates are accelerated. This dynamic adaptation maintains accuracy while minimizing overhead.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for rendering shadows in a 3D virtual environment includes generating a depth rasterization map corresponding to a plurality of objects in a three-dimensional virtual environment and a shadow interval map with reference to the depth map and a predetermined path of a light source in the environment that casts light onto at least one object in the plurality of objects that generates a shadow in the three-dimensional virtual environment with a server computing device. The method includes transmitting the shadow interval map from the server to a client and generating, with a processor in the client, a graphical depiction of the virtual environment including at least one shadow generated with reference to the shadow interval map, the at least one shadow corresponding to the light source and the plurality of objects in the virtual environment.