What Is Gouraud Shading?
Gouraud Shading is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by polygon meshes. Gouraud shading was developed by Henri Gouraud and was first published in 1971. In practice, Gouraud shading is most often used to achieve continuous lighting on triangle surfaces by computing the light at the corners of each triangle and linearly interpolating the resulting colors for each pixel covered by the triangle.
In Gouraud shading, 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 like the Phong reflection model, is then performed to produce color intensities at the vertices. For each screen pixel that is covered by the polygonal mesh, color intensities can then be interpolated from the color values calculated at the vertices.
What You Need To Know About Gouraud Shading
- Gouraud shading was developed by Henri Gouraud.
- Gouraud shading was first published in 1971.
- In Gouraud shading, each polygon has one normal vector per vertex, but instead of interpolating the vectors, the color of each vertex is computed and then interpolated across the surface of the polygon.
- Intensity levels are calculated at each vertex and interpolated across the surface.
- Requires moderate processing and time.
- Lighting equation is used at each vertex.
- Interpolates colors along edges and scanline.
- Gouraud shading produces smooth surfaces.
- Gouraud shading computes illumination at border vertices and interpolates.
- Gouraud shading can introduce anomalies referred to as Mach bands.
- Gouraud shading requires less calculation and this greatly decreases the cost of shading steeply.
- It gives less accurate results.
What Is Phong Shading?
Phong shading is an interpolation technique for surface shading in 3D computer graphics. Phong Shading was developed at the University of Utah, by Phong Bui Tuong and was first published in 1973.It is a more accurate interpolation based approach for rendering a polygon. It can also be referred to as Phong interpolation or normal-vector interpolation shading. It interpolates surface normals across rasterized polygons and computes pixel colors based on the interpolated normals and a reflection model.
Phong shading improves upon Gouraud shading and provides a better approximation of the shading of a smooth surface. Phong shading assumes a smoothly varying surface normal vector. The Phong interpolation method works better than Gouraud shading when applied to a reflection model that has small specular highlights such as the Phong reflection model.
What You Need To Know About Phong Shading
- Phong Shading was developed by Phong Bui Tuong. It is a more accurate interpolation based approach for rendering a polygon.
- Phong shading was first published in 1973.
- In Phong Shading, each rendered polygon has one normal vector per vertex; shading is performed by interpolating the vectors across the surface and computing the color for each point of interest.
- It interpolates normal vectors instead of intensity values.
- Though it produces good quality, it is slow and requires complex processing.
- Lightning equation is used at each pixel.
- Interpolates normals instead of colors.
- Phong shading produces smooth and shinning surfaces.
- Phong shading computes illumination at every point of polygon surface.
- Phong shading greatly reduces the Mach band effect.
- Phong shading requires more calculation and this greatly increases the cost of shading steeply.
- It gives more accurate results.
Gouraud Vs Phong Shading Image
Difference Between Gouraud Shading And Phong Shading In Tabular Form
BASIS OF COMPARISON | GOURAUD SHADING | PHONG SHADING |
Development | Gouraud shading was developed by Henri Gouraud. | Phong Shading was developed by Phong Bui Tuong. |
First Year Of Publishing | It was first published in 1971. | It was first published in 1973. |
Description | Each polygon has one normal vector per vertex, but instead of interpolating the vectors, the color of each vertex is computed and then interpolated across the surface of the polygon. | Each rendered polygon has one normal vector per vertex; shading is performed by interpolating the vectors across the surface and computing the color for each point of interest. |
Intensity levels | Intensity levels are calculated at each vertex and interpolated across the surface. | It interpolates normal vectors instead of intensity values. |
Processing & Time | Requires moderate processing and time. | Though it produces good quality, it is slow and requires complex processing. |
Lighting Equation | Lighting equation is used at each vertex. | Lightning equation is used at each pixel. |
Interpolates | Interpolates colors along edges and scanline. | Interpolates normals instead of colors. |
Kind Of Surface | It produces smooth surfaces. | It produces smooth and shinning surfaces. |
Illumination & computation | It computes illumination at border vertices and interpolates. | It computes illumination at every point of polygon surface. |
Mach Band Effect | It can introduce anomalies referred to as Mach bands. | It greatly reduces the Mach band effect. |
Cost | It requires less calculation and this greatly decreases the cost of shading steeply. | It requires more calculation and this greatly increases the cost of shading steeply. |
Accuracy | It gives comparatively less accurate results. | It gives more accurate results. |