GouraudShading
is a three‐dimensional graphics directive that specifies that faces of polygons and other filled graphics objects are to be drawn to reflect as a smooth surface using a normal‐vector average shading.
uses the attenuation factor d for the diffuse light.
GouraudShading[d,s]
uses the attenuation factor s for the specular light.
GouraudShading[d,s,a]
uses the attenuation factor a for the ambient light.
Details
- GouraudShading is also known as per‐vertex shading.
- GouraudShading is typically used to achieve smooth lighting on low-polygon surfaces.
- The final colors are computed from the averages of the surface normals at the vertices of the polygons and the luminosity of the color resulting from standard shading.
- GouraudShading[d,s,a] specifies that the diffuse light on a 3D surface should be attenuated by a factor d, the specular light by s and the ambient light by a.
- GouraudShading[] is effectively equivalent to GouraudShading[1,1,1].
- The setting Lighting"Accent" uses a directional light and faithfully reproduces colors on the surface.
- The basic shading models FlatShading, GouraudShading and PhongShading compared:
Examples
open allclose allBasic Examples (3)
Apply GouraudShading to the geodesic polyhedron:
Style a plot with GouraudShading:
Draw a 3D model with GouraudShading:
Scope (14)
Basic Uses (5)
Specification (5)
GouraudShading with no arguments uses similar calculations as the default system shader:
Attenuate all light from the surface by a scaler value:
This is equivalent to specifying each attenuation factor explicitly:
Attenuate the diffuse light, setting other attenuation factors to zero:
Attenuate the specular light, setting other attenuation factors to zero:
Attenuate the ambient light, setting other attenuation factors to zero:
Lighting (4)
GouraudShading works with all types of lights:
The specular percentage only applies if the Specularity directive has been specified:
The ambient percentage only applies if an AmbientLight has been specified:
Applications (2)
Basic Applications (2)
Interior face colors are linear combinations of the lighting calculated at each vertex:
This is equivalent to passing precomputed vertex lighting as the VertexColors with an ambient White light:
Triangle with perturbed normals:
Polyhedron with smooth normals:
Vertices are duplicated with different normals to create hard edges:
Properties & Relations (3)
GouraudShading uses VertexNormals if specified:
Specify FaceForm with GouraudShading:
GouraudShading approximates the PhongShading when the screen size and shade variance across polygons are small:
Possible Issues (1)
Interactive Examples (1)
Interactively drag the light position while rendering a triangle with GouraudShading applied. Notice that the color of the triangle is calculated by interpolating the light values at its corners:
Text
Wolfram Research (2022), GouraudShading, Wolfram Language function, https://reference.wolfram.com/language/ref/GouraudShading.html.
CMS
Wolfram Language. 2022. "GouraudShading." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GouraudShading.html.
APA
Wolfram Language. (2022). GouraudShading. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GouraudShading.html