Shading Normal Vector Adaptation for Tessellated Surface Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image rendering technologies using tessellated surfaces often result in visual artifacts like faceting due to disparities between target and tessellated surface shapes, leading to invalid reflection directions and edge discontinuities, especially when shading normal vectors are not aligned with the viewing direction.
Innovation Solution
A method to adjust shading normal vectors by calculating a normalized adjusted shading normal vector through a correction vector that ensures the resulting reflection vector lies on or above the tessellated surface, minimizing artifacts and maintaining image quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Shape
If shading normal vectors are interpolated over tessellated surfaces to reduce faceting artifacts, then surface smoothness is improved, but reflection validity deteriorates when shading normals are not aligned with viewing direction
Solution Approach 1:
The patent changes the parameters of the normal vector by calculating a correction vector that adjusts the shading normal vector's direction. This correction vector is computed based on the difference between the shading normal and the geometric normal, ensuring the adjusted normal produces valid reflection directions while maintaining smoothness.
Solution Approach 2:
The patent implements feedback by using the geometric normal (derived from the tessellated surface geometry) to correct the shading normal (derived from vertex interpolation). This feedback loop ensures that the shading normal is continuously adjusted to maintain alignment with the actual surface geometry, preventing invalid reflections.
2Shape
If blending shading normal vectors is used to improve smoothness, then visual continuity is improved, but edge discontinuities and darkening artifacts are introduced
Solution Approach 1:
The patent applies local quality by calculating the correction vector specifically at locations where the shading normal deviates from the geometric normal. The correction is applied locally based on the dot product between the shading normal and geometric normal, ensuring that only the necessary adjustment is made at each point without affecting the overall smoothness.
Solution Approach 2:
The patent converts the harmful effect of normal vector misalignment (which causes edge discontinuities) into a beneficial correction by using the misalignment information itself to compute the correction vector. The dot product of the shading normal and geometric normal, which initially indicates the problem, becomes the basis for the correction that eliminates the artifact.
3Measurement precision
If correction vectors are added to reflection vectors to ensure validity, then reflection direction accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent applies partial action by calculating the correction vector only when necessary, based on the dot product threshold between shading normal and geometric normal. Instead of always performing the full correction calculation, the system applies correction only where needed, reducing overall computational complexity while maintaining accuracy where required.
Data Source
AI summary
A method of adjusting a shading normal vector for a computer graphics rendering program. Calculating a normalized shading normal vector pointing outwards from an origin point on a tessellated surface modeling a target surface to be rendered. Calculating a normalized outgoing reflection vector projecting from the origin point for an incoming view vector directed towards the origin point and reflecting relative to the normalized shading normal vector. Calculating a correction vector such that when the correction vector is added to the normalized outgoing reflection vector a resulting vector sum is yielded that is equal to a maximum reflection vector, wherein the maximum reflection vector is on or above the tessellated surface. Calculating a normalized maximum reflection vector by normalizing a vector sum of the correction vector plus the maximum reflection vector. Calculating a normalized adjusted shading normal vector by normalizing a vector difference of the normalized maximum reflection vector minus the incoming view vector.


