Vertex Shader Viewing Angle Adaptation for Stereoscopic Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing technologies struggle to generate stereoscopic 3D views without modifying existing applications or graphics drivers, and they fail to adapt to varying viewing angles, which limits the quality and realism of the stereoscopic experience.
Innovation Solution
A method that modifies the instructions of a vertex shader based on the viewing angle to displace pixel locations in different directions for left-eye and right-eye images, allowing a graphics processing unit (GPU) to generate stereoscopic views from mono views during runtime, without requiring changes to the application or graphics driver.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a shader program is designed to generate a mono view, then the application can run without modification, but the GPU cannot generate stereoscopic view
Solution Approach 1:
The shader program dynamically adapts its behavior based on a view parameter. When the view parameter indicates stereoscopic mode, the shader generates displaced pixel locations for left-eye and right-eye images. When in mono mode, it generates standard pixel locations. This dynamic adaptation allows the same shader to serve multiple purposes without requiring separate shader programs for each view type.
Solution Approach 2:
The invention changes the view parameter to control the shader's output behavior. By modifying the view parameter to indicate stereoscopic mode, the system transforms the shader's function from generating mono views to generating stereoscopic views with horizontal displacement. This parameter-based control allows flexible switching between view types without code modification.
2Adaptability or versatility
If the shader displaces pixel locations for stereoscopic view, then depth perception is enhanced, but the viewing angle adaptation is lost
Solution Approach 1:
The pixel displacement amount is dynamically adjusted based on the detected viewing angle. When the viewer is at the center viewing angle, maximum displacement is applied for optimal stereoscopic effect. When the viewer moves to extreme angles, the displacement amount is reduced proportionally. This dynamic adjustment maintains depth perception across different viewing positions while adapting to the actual viewing geometry.
Solution Approach 2:
The shader receives the viewing angle as a parameter and uses it to calculate the appropriate pixel displacement amount. The displacement parameter is computed as a function of the viewing angle, allowing the shader to automatically adjust its output to match the actual viewing conditions. This parameter-driven approach enables continuous adaptation to different viewing angles while maintaining accurate stereoscopic rendering.
3Adaptability or versatility
If the shader program is modified to generate stereoscopic view, then 3D volume perception is achieved, but compatibility with existing applications is reduced
Solution Approach 1:
The modified shader program becomes universal by handling both mono and stereoscopic views through a single codebase. The shader checks the view parameter and automatically adjusts its behavior accordingly. This multi-functionality eliminates the need for separate shader programs for different view types and maintains compatibility with existing applications that pass the view parameter, while enabling new stereoscopic functionality.
Solution Approach 2:
The view parameter acts as an intermediary between the application and the shader logic. Applications continue to pass this parameter as before, maintaining compatibility. The shader uses this parameter to determine whether to generate mono or stereoscopic output. This intermediary approach allows the system to support multiple view types without requiring application modifications.
Data Source
AI summary
The example techniques of this disclosure are directed to generating a stereoscopic view from an application designed to generate a mono view. For example, the techniques may modify instructions for a vertex shader based on a viewing angle. When the modified vertex shader is executed, the modified vertex shader may generate coordinates for vertices for a stereoscopic view based on the viewing angle.


