Apparatus, method, and storage medium
US-2020134790-A1 · Apr 30, 2020 · US
US10565781B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10565781-B2 |
| Application number | US-201514875813-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 6, 2015 |
| Priority date | Aug 20, 2015 |
| Publication date | Feb 18, 2020 |
| Grant date | Feb 18, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A method of adjusting a shading normal vector for a computer graphics rendering program, comprising: 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; and applying the normalized adjusted shading normal vector to shade the tessellated surface for rendering a computer graphics image to minimize visual artifacts in the computer graphics image. 2. The method of claim 1 , wherein calculating the correction vector includes: calculating a length A between the tessellated surface and the normalized outgoing reflection vector, wherein the length A equals an absolute value of a dot product of the normalized outgoing reflection vector and a normalized geometric normal vector projecting from the point of origin; calculating a length B of a projection of the normalized shading normal vector onto the normalized geometric normal vector, wherein the length B equals an absolute value of a dot product of the normalized shading normal vector and the normalized geometric normal vector; and calculating a product of the normalized shading normal vector multiplied by a correction ratio equal to or greater than A/B. 3. The method of claim 2 , wherein the correction ratio equals A/B. 4. The method of claim 2 , wherein the correction ratio is a value in a range between A/B and (2A)/B. 5. The method of claim 1 , wherein calculating the normalized shading normal vector includes applying an interpolation heuristic to vertex normals of the tessellated surface. 6. The method of claim 5 , wherein the interpolation heuristic includes a Phong interpolation heuristic. 7. The method of claim 5 , wherein the interpolation heuristic includes a Blinn-Phong interpolation heuristic. 8. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to compute an adjusted shading normal vector, comprising: 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; and applying the normalized adjusted shading normal vector to shade the tessellated surface for rendering a computer graphics image to minimize visual artifacts in the computer graphics image. 9. The non-transitory storage medium of claim 8 further stores instructions to cause the processor to calculate the correction vector including: calculating a length A between the tessellated surface and the normalized outgoing reflection vector, wherein the length A equals an absolute value of a dot product of the normalized outgoing reflection vector and a normalized geometric normal vector projecting from the point of origin; calculating a length B of a projection of the normalized shading normal vector onto the normalized geometric normal vector, wherein the length B equals an absolute value of a dot product of the normalized shading normal vector and the normalized geometric normal vector; and calculating a product of the normalized shading normal vector multiplied by a correction ratio equal to or greater than A/B. 10. The non-transitory storage medium of claim 9 , wherein the correction ratio equals A/B. 11. The non-transitory storage medium of claim 9 , wherein the correction ratio is a value in a range between A/B and (2A)/B. 12. The non-transitory storage medium of claim 8 , wherein calculating the normalized shading normal vector includes applying an interpolation heuristic to vertex normals of the tessellated surface. 13. The non-transitory storage medium of claim 12 , wherein the interpolation heuristic includes a Phong interpolation heuristic. 14. The non-transitory storage medium of claim 12 , wherein the interpolation heuristic includes a Blinn-Phong interpolation heuristic. 15. A computer graphics rendering system, comprising: a non-transitory computer-readable storage medium; a processor configured to execute instructions stored on the non-transitory computer-readable storage medium to compute an adjusted shading normal vector, including: 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; and applying the normalized adjusted shading normal vector to shade the tessellated surface for rendering a computer graphics image to minimize visual artifacts in the computer graphics image. 16. The system of claim 15 , wherein the processor is configured to execute the instructions to calculate the correction vector including: calculating a length A between the tessellated surface and the normalized outgoing reflection vector, wherein the length A equals an absolute value of a dot product of the normalized outgoing reflection vector and a normalized geometric normal vector projecting from the point of origin; calculating a length B of a projection of the normalized shading normal vector onto the normalized geometric normal vector, wherein the length B equals an absolute value of a dot product of the normalized shading normal vector and the normalized geometric normal vector; and calculating a product of the normalized sh
Finite element generation, e.g. wire-frame surface description, {tesselation} · CPC title
Phong shading · CPC title
Illumination models · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.