Augmented Reality Shader Program Segmentation for Rendering Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The conventional process for designing augmented reality effects is time-consuming and labor-intensive, requiring multiple iterations between artists and programmers, and the rendering of augmented reality objects is not consistently optimal across different devices due to varying display features.
Innovation Solution
A method involving an augmented reality shader program that compiles and merges shader programs into vertex and fragment shader modules, which are then analyzed and split for optimal rendering by a graphics processing unit (GPU), allowing for efficient rendering of augmented reality objects across various devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If multiple shader programs are manually integrated and iteratively refined by artists and programmers, then the augmented reality effect can be fine-tuned, but the design process becomes time-consuming and labor-intensive
Solution Approach 1:
The patent segments the design process by allowing artists to create effects using high-level description files without requiring them to manually write or integrate shader code. The system automatically compiles and merges the necessary vertex and fragment shader programs, separating the creative task from the technical implementation task.
Solution Approach 2:
The system provides self-service by automatically compiling description files into shader programs and merging them with device-specific rendering code. This automation eliminates the need for manual iteration between artists and programmers, allowing the system to generate optimized rendering code autonomously.
2Manufacturing precision
If shader programs are optimized for one device's display features, then rendering quality is improved for that device, but the same effect may not display correctly on devices with different aspect ratios, resolutions, or orientations
Solution Approach 1:
The patent creates a universal shader program structure that can adapt to multiple device types. The system generates device-specific rendering code by merging the core vertex and fragment shader programs with device-specific display parameter code, allowing the same effect to render correctly across devices with different aspect ratios, resolutions, and orientations.
Solution Approach 2:
The system handles device compatibility by dynamically adjusting display parameters such as aspect ratio, resolution, and orientation in the rendering code. The merged shader modules incorporate device-specific parameters while maintaining the core effect logic, allowing automatic adaptation to different display configurations.
3Adaptability or versatility
If comprehensive device-specific rendering code is included for all possible devices, then compatibility across devices is improved, but the complexity of the shader program increases
Solution Approach 1:
The patent segments the shader program into distinct components: core vertex shader logic, core fragment shader logic, and device-specific rendering parameters. This modular structure allows the system to include comprehensive device support without creating a monolithic complex program, as each device type can be handled by combining the core modules with the appropriate device-specific parameters.
Data Source
AI summary
A computer-implemented method, including receiving, through an editor for designing augmented-reality effects, a plurality of shader programs each for an augmented-reality to be rendered for an augmented-reality effect; compiling each of the shader programs of augmented-reality object separately into corresponding shader modules; generate a merged shader module based on the shader modules; analyzing, according to one or more criteria, the merged shader module to identify fragment-shader instructions and vertex-shader instructions; splitting the merged shader module into a single fragment-shader module comprising the identified fragment-shader instructions and a single vertex-shader module comprising the identified vertex-shader instructions; and providing the single fragment-shader module and the single vertex-shader module to a graphics processing unit (GPU) to render the augmented-reality objects.


