Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Description  





2 Comparison with other shading techniques  





3 Linear vs. hyperbolic interpolation  





4 Mach bands  





5 See also  





6 References  














Gouraud shading






العربية
Deutsch
Español
Français
Bahasa Indonesia
Italiano
Latviešu
Magyar

Norsk bokmål
Polski
Português
Русский
Suomi
Türkçe
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Gouraud-shaded triangle mesh using the Phong reflection model

Gouraud shading (/ɡˈr/ goo-ROH), named after Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by polygon meshes. In practice, Gouraud shading is most often used to achieve continuous lighting on triangle meshes by computing the lighting at the corners of each triangle and linearly interpolating the resulting colours for each pixel covered by the triangle. Gouraud first published the technique in 1971.[1][2][3] However, enhanced hardware support for superior shading models has yielded Gouraud shading largely obsolete in modern rendering.

Description[edit]

Gouraud shading works as follows: An estimate to the surface normal of each vertex in a polygonal 3D model is either specified for each vertex or found by averaging the surface normals of the polygons that meet at each vertex. Using these estimates, lighting computations based on a reflection model, e.g. the Phong reflection model, are then performed to produce colour intensities at the vertices. For each screen pixel that is covered by the polygonal mesh, colour intensities can then be interpolated from the colour values calculated at the vertices.

Comparison with other shading techniques[edit]

Comparison of flat shading and Gouraud shading

Gouraud shading is considered superior to flat shading and requires significantly less processing than Phong shading, but usually results in a faceted look.

In comparison to Phong shading, Gouraud shading's strength and weakness lies in its interpolation. If a mesh covers more pixels in screen space than it has vertices, interpolating colour values from samples of expensive lighting calculations at vertices is less processor intensive than performing the lighting calculation for each pixel as in Phong shading. However, highly localized lighting effects (such as specular highlights, e.g. the glint of reflected light on the surface of an apple) will not be rendered correctly, and if a highlight lies in the middle of a polygon, but does not spread to the polygon's vertex, it will not be apparent in a Gouraud rendering; conversely, if a highlight occurs at the vertex of a polygon, it will be rendered correctly at this vertex (as this is where the lighting model is applied), but will be spread unnaturally across all neighboring polygons via the interpolation method.

The problem is easily spotted in a rendering which ought to have a specular highlight moving smoothly across the surface of a model as it rotates. Gouraud shading will instead produce a highlight continuously fading in and out across neighboring portions of the model, peaking in intensity when the intended specular highlight aligns with a vertex of the model. While this problem can be fixed by increasing the density of vertices in the object, at some point the diminishing returns of this approach will favour switching to a more detailed shading model.

Linear vs. hyperbolic interpolation[edit]

Gouraud's original paper described linear color interpolation.[1] In 1992, Blinn published an efficient algorithm for hyperbolic interpolation[4] that is used in GPUs as a perspective correct alternative to linear interpolation. Both the linear and hyperbolic variants of interpolation of colors from vertices to pixels are commonly called "Gouraud shading".

Mach bands[edit]

Any linear interpolation of intensity causes derivative discontinuities which triggers Mach bands, a common visual artifact of Gouraud shading.

See also[edit]

References[edit]

  1. ^ a b Gouraud, Henri (1971). Computer Display of Curved Surfaces, Doctoral Thesis (Thesis). University of Utah.
  • ^ Gouraud, Henri (1971). "Continuous shading of curved surfaces" (PDF). IEEE Transactions on Computers. C-20 (6): 623–629. doi:10.1109/T-C.1971.223313. S2CID 123827991.
  • ^ Gouraud, Henri (1998). "Continuous shading of curved surfaces". In Rosalee Wolfe (ed.). Seminal Graphics: Pioneering efforts that shaped the field. ACM Press. ISBN 1-58113-052-X.
  • ^ Blinn, James F. (July 1992). "Hyperbolic Interpolation". IEEE Computer Graphics and Applications. 12 (4): 89-94. doi:10.1109/MCG.1992.10028. S2CID 207973430.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Gouraud_shading&oldid=1225641660"

    Categories: 
    Shading
    Virtual reality
    Computer graphics algorithms
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles lacking reliable references from February 2014
    All articles lacking reliable references
    Articles needing additional references from March 2012
    All articles needing additional references
    Articles with multiple maintenance issues
     



    This page was last edited on 25 May 2024, at 19:54 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki