<p>Sphere's don't have edges like the ones in that picture. The "silhouette" should be a circle. This is because the sphere was rendered as triangles and rasterized. Triangles can only approximate a sphere.</p>

<p>Compare this to ray casting for instance. Where we can directly test the intersection between a sphere and ray thus no need to approximate a sphere with other primitives.</p>

<p>What smooth shading lets us do is interpolate values across the face of a triangle to cheat and make something appear smoother. In reality a sphere (a uv sphere) would look like this:</p>

<p><a href="https://i.sstatic.net/e3mf0.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/e3mf0.jpg" alt="enter image description here"></a></p>

<p>There are two common ways to make the above sphere look smooth without adding anymore geometry. Both of which involve linearly interpolating values across the face of a triangle. Like barycentric interpolation. With barycentric interpolation, given values at 3 points (on a triangle) and a point we want to know the value for we can calculate a mix between the 3 values at the corners such that it smoothly varies across the face of the triangle.</p>

<p><a href="https://i.sstatic.net/vqX5e.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/vqX5e.png" alt="enter image description here"></a></p>

<p>In rasterization there are two popular ways to smooth shade. The later being used more often.</p>

<p>Gouraud: We calculate the post-lighting (shaded) color at each vertex and interpolate the color across the face of the triangle.</p>

<p>Phong: We calculate the shaded color at every pixel across the triangle, interpolating things like normals across the triangle.</p>

<p>EDIT: The difference between gouraud and phong is that gouraud assumes the color and light intensity change linearly with the normal. Whereas phong does not. For a simple light intensity = dot(normal, lightDir) = cos(angle between normal and lightDir) we can see the relationship between intensity and the normal is nonlinear. This can be well illustrated with the below image (see the seams on the specular highlight. This is the consequence of our linear interpolation):</p>

<p><a href="https://i.sstatic.net/2qmpn.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/2qmpn.png" alt="enter image description here"></a></p>

CC BY-SA 4.0
2018-12-10T01:08:19.600Z
So why does it look better than the Gouraud Shaded Model specifically? and why is this not necessary generally applicable to any surface?
user9778
CC BY-SA 4.0
2018-12-10T01:08:34.277Z
Is it because it's just a "cheat" made for sphere approximations? not any others?
user9778
CC BY-SA 4.0
2018-12-10T04:37:34.527Z
No, smooth shading works on many surfaces, not just spheres. It is very widely used. I'd call it a cheat because you are trying to draw a smooth surface without actually making the geometry smoother (more points). Of course, you only want to use it for things you want smooth (ie: any curved surface).
Andrew Wilson
CC BY-SA 4.0
2018-12-10T04:46:18.973Z
Also I've edited my post to illustrate the difference between gouraud and phong providing details of why phong is better for smooth surfaces.
Andrew Wilson
CC BY-SA 4.0
2018-12-10T04:54:19.417Z
Oh okay I understand. Thanks a lot for clearing it up!
user9778
CC BY-SA 4.0
2018-12-10T13:04:26.083Z
The diagram in the question mentions depending on knowing the centre of the sphere, which suggests it might be a method that ignores position in the triangle and colours based on angle from the centre, which would only give meaningful results for a sphere. Not sure without more context whether this is the case though
trichoplax is on Codidact now
CC BY-SA 4.0
2018-12-08T09:29:41.833Z
2018-12-10T04:45:48.070Z
2018-12-10T04:45:48.070Z
Andrew Wilson
<p>In what way is a "cheat" when using smooth shading on a sphere approximation? </p>

<p><a href="https://i.sstatic.net/Y3eQ0.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Y3eQ0.png" alt="enter image description here"></a></p>

<p>I'm not understanding how it's a cheat to use smooth shading on this?</p>

<p>Other questions that are lead after this may be: 
Why does it look better than the Gouraud Shaded Model and why is this not necessary generally applicable to any surface?</p>

CC BY-SA 4.0
2018-12-08T23:26:38.600Z
Are you asking this because someone else has declared it to be a cheat? If so, it might help to give the context of what they said, otherwise people can only guess what you are trying to find out.
trichoplax is on Codidact now
CC BY-SA 4.0
2018-12-10T00:01:02.923Z
Yes, someone else said it was like a "cheat". Basically this cheat is better looking than using a Gouraud shaded model. But my question is how and why?
user9778
CC BY-SA 4.0
2018-12-10T00:01:49.567Z
and why is this not necessary generally applicable to any surface? Is it because it's just a "cheat" made for sphere approximations? not any others?
user9778
<shading>
Smooth shading on sphere approximation
user9778
# Smooth shading on sphere approximation

(Asked by: username_0 on 2018-12-07)

In what way is a "cheat" when using smooth shading on a sphere approximation?

[![enter image description here](https://i.sstatic.net/Y3eQ0.png)](https://i.sstatic.net/Y3eQ0.png)

I'm not understanding how it's a cheat to use smooth shading on this?

Other questions that are lead after this may be:
Why does it look better than the Gouraud Shaded Model and why is this not necessary generally applicable to any surface?

**Tags:** shading

> **Comments:**
> **username_1**: Are you asking this because someone else has declared it to be a cheat? If so, it might help to give the context of what they said, otherwise people can only guess what you are trying to find out.  
> **username_0**: Yes, someone else said it was like a "cheat". Basically this cheat is better looking than using a Gouraud shaded model. But my question is how and why?  
> **username_0**: and why is this not necessary generally applicable to any surface? Is it because it's just a "cheat" made for sphere approximations? not any others?  

---

## 1 answers

### Answer by username_2 on 2018-12-08. Score: 3 | Accepted answer

Sphere's don't have edges like the ones in that picture. The "silhouette" should be a circle. This is because the sphere was rendered as triangles and rasterized. Triangles can only approximate a sphere.

Compare this to ray casting for instance. Where we can directly test the intersection between a sphere and ray thus no need to approximate a sphere with other primitives.

What smooth shading lets us do is interpolate values across the face of a triangle to cheat and make something appear smoother. In reality a sphere (a uv sphere) would look like this:

[![enter image description here](https://i.sstatic.net/e3mf0.jpg)](https://i.sstatic.net/e3mf0.jpg)

There are two common ways to make the above sphere look smooth without adding anymore geometry. Both of which involve linearly interpolating values across the face of a triangle. Like barycentric interpolation. With barycentric interpolation, given values at 3 points (on a triangle) and a point we want to know the value for we can calculate a mix between the 3 values at the corners such that it smoothly varies across the face of the triangle.

[![enter image description here](https://i.sstatic.net/vqX5e.png)](https://i.sstatic.net/vqX5e.png)

In rasterization there are two popular ways to smooth shade. The later being used more often.

Gouraud: We calculate the post-lighting (shaded) color at each vertex and interpolate the color across the face of the triangle.

Phong: We calculate the shaded color at every pixel across the triangle, interpolating things like normals across the triangle.

EDIT: The difference between gouraud and phong is that gouraud assumes the color and light intensity change linearly with the normal. Whereas phong does not. For a simple light intensity = dot(normal, lightDir) = cos(angle between normal and lightDir) we can see the relationship between intensity and the normal is nonlinear. This can be well illustrated with the below image (see the seams on the specular highlight. This is the consequence of our linear interpolation):

[![enter image description here](https://i.sstatic.net/2qmpn.png)](https://i.sstatic.net/2qmpn.png)

> **Comments:**
> **username_0**: So why does it look better than the Gouraud Shaded Model specifically? and why is this not necessary generally applicable to any surface?  
> **username_0**: Is it because it's just a "cheat" made for sphere approximations? not any others?  
> **username_2**: No, smooth shading works on many surfaces, not just spheres. It is very widely used. I'd call it a cheat because you are trying to draw a smooth surface without actually making the geometry smoother (more points). Of course, you only want to use it for things you want smooth (ie: any curved surface).  
> **username_2**: Also I've edited my post to illustrate the difference between gouraud and phong providing details of why phong is better for smooth surfaces.  
> **username_0**: Oh okay I understand. Thanks a lot for clearing it up!  
> **username_1**: The diagram in the question mentions depending on knowing the centre of the sphere, which suggests it might be a method that ignores position in the triangle and colours based on angle from the centre, which would only give meaningful results for a sphere. Not sure without more context whether this is the case though  

---

