View-dependant shading normal adaptation

US10565781B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10565781-B2
Application numberUS-201514875813-A
CountryUS
Kind codeB2
Filing dateOct 6, 2015
Priority dateAug 20, 2015
Publication dateFeb 18, 2020
Grant dateFeb 18, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Finite element generation, e.g. wire-frame surface description, {tesselation} · CPC title

  • G06T15/83Primary

    Phong shading · CPC title

  • Illumination models · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10565781B2 cover?
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 refl…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T15/83. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 18 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).