What Is The Difference Between Smooth Shading And Flat Shading?

When constructing your objects in Blender, you will notice that you are able to see every single face, edge, and vertex on your model. And she won’t want to see these when you actually render the objects. This is where smooth shading comes into play. But what is the difference between smooth shading and flat shading?

The difference between flat shading and smooth shading is that flat shading allows you to display each part of your model in terms of your vertices, edges, and faces. Smooth shading, on the other hand, will perform a trick of lighting to smooth over the normals of each individual vertex, making the object’s surface appear much more smooth.

These two methods of shading are relatively straightforward and sort of act as the two sides of a single boolean where your object is either one or the other. So exactly how this smooth shading work to achieve its effects?

How Do You Shade Smooth Objects In The 3D Viewport?

If you are new to blender then you may not know exactly how to enact smooth shading on your selected objects.

There are no keyboard shortcuts by default that allows you to access the smooth shading tool, but it is still easily accessible from Blenders menus.

First, select the objects that you want to apply smooth shading to. Then go to the header bar of your 3D viewports and open up the objects menu.

Shade Smooth Location

About halfway down the list, you will see the two options, for smooth shading and flat shading. By default, all models are set to flat shading unless stated otherwise by a specific tool such as a modifier.

Left-click on the smooth shading option and then your objects will be shaded smooth, meaning you will no longer be able to see the individual vertices, edges, and faces of that model.

Below is a comparison of Suzanne the monkey where we have one image with flat shading applied and then the second image with smooth shading applied. You can see the difference in the object’s surface.

Flat Vs Smooth Example

An Explanation On The Difference Between Smooth Shading And Flat Shading

So exactly how does each form of shading work in Blender? Well, flat shading is very straightforward. It’s the default method of shading used for nearly old mesh-based objects.

When flat shading is applied to a model, you will be able to see all of its geometry. Every vertex, every edge, and every face will be visible to you, either in object mode or edit mode.

The only exception to this is when the angle of two or more faces is identical. For example, we have two cubes here, one of which is the default cube and one is a subdivided cube.

Two Cubes One Subdivide

In object mode, these look exactly the same and you can’t really tell which one has the additional geometry from the subdivide tool. Go into edit mode, however, and you will be able to see your geometry for the subdivided tool and you will be able to see how much it differs from the original cube.

Same Cubes In Edit Mode

This is a good example of how flat shading works. Flat shading is designed to create a different way of reflecting the light on each individual face.

If two faces next to each other reflect the light differently, then both faces will be visible. However, if the two faces reflect light in the same way, then they effectively merge together to the eyes’ perception and be practically invisible.

Another example is Suzanne. We can see all of the edges, vertices, and faces of the default Suzanne mesh. But what happens if we were to subdivide Suzanne?

Well, if we use these subdivide tools and then go back into object mode, we wouldn’t actually see that much of a difference. The reason why is because when using the subdivide tool without any form of smoothing.

Can You Tell Which Is Subdivided

While adding geometry, we are not changing the shape and so because the angles of the new faces are the same, they will reflect light in the same way.

On the other hand, we have smooth shading, which is a little bit more complex to explain. To understand how smooth shading works, we need to also understand how normals work.

A normal is the intended direction of a piece of geometry, such as a vertex. Each piece of geometry will have an outward direction and an inward direction.

When rendering, we will want to have the outward direction facing the camera and for the inward direction of that geometry to be facing away from the camera where we can’t see it.

In-game design, having your normals flipped, so having the inward direction facing the camera creates an effect known as backface culling, which makes the geometry invisible. This is done to reduce the amount of rendering that the game engine has to do.

Incorrect Normals Results In Backface Culling

But what does this have to do with smooth shading? Well, smooth shading does not affect the geometry itself in any way. Instead, it creates a trick of the light effect by manipulating the normal direction when light hits the surface of the objects.

This creates an effect of smoothing where the normals of the individual faces are effectively pointing in the same direction towards the light.

This differs from flat shading, where if the angle of the face is different then the way light reflects off of that face is different as well.

Flat Vs Smooth

But in terms of smooth shading, because multiple faces are now facing the same direction, the way the light appears off of each face looks similar and it creates the effect where the faces and the geometry merge together. This is what allows smooth shading to create that more natural look for your geometry.

If you want to learn more about Blender you can check out our course on Skillshare by clicking the link here and get 1 month free to the entire Skillshare library.

When To Use Each Form Of Shading

So when should you use each form of shading? Well, flat shading should be used during the modeling process, you are always going to want to be able to view how your geometry looks on your model, both in object mode and edit mode where applicable.

Of course, regardless of which method you choose for your shading, you will always be able to locate and edit your geometry in edit mode.

Flat shading is also better suited when working with hard surface models. This is because smooth shading tends to create artifacts with hard surface models that have really sharp angles. More on that in a bit.

Smooth shading can be used at almost any point, including during the modeling phase, as again, it does not really impact the ability to edit the model, it just has a slight impact on the ability to view your geometry in object mode, depending on the object’s angles.

You should look to apply smooth shading to the large majority of your objects before creating your renders and animations.

Objects that have smooth shading applied to them will normally appear more natural than the flat shading comparison.

The smooth shading attribute is often applied even when your object is exported, so make sure to apply smooth shading before you export it to a slicing software for 3D printing or to a game engine.

What Smooth Shading Cannot Hide Is The Outline

What is smooth shading effect is able to gloss over the actual geometry of your object when looking directly at the surface, it cannot hide your load topology when looking at the outline of your objects. For example, take a look at our Suzanne objects here.

Nothing has changed other than the fact that it has had smooth shading applied to it. But while the surface of Suzanne looks good, the edges of the model still look jagged as we look towards the models’ outline.

Again, smooth shading does nothing to the actual geometry of the model, only the direction of the normals based on the light direction. Now compare this to a model of Suzanne where we have subdivided it or used the subdivision Surface modifier a couple of times to increase the geometry.

Smooth Shading With And Without Subsurf Modifier

Smooth shading is applied to both, but the second example looks much smoother on the outline because it has more geometry to create that smoothing effect.

How Do You Fix Weird Shading Artifacts With Smooth Shading?

The main issue with using smooth shading for your models is the appearance of what is known as shading artifacts.

This is where you find areas of the model that look much darker and out of place compared to the rest of the object. There are two main reasons why you are likely to see shading artifacts on your model.

The most likely reason for noticing shading artifacts on your model is the use of hard edges. Smooth shading does not work well with objects that have sharper edges beyond certain angular limits.

Cube With Flat Shading And Cube With Smooth Shading

This does create a slightly different form of artifacting compared to the appearance of darker areas on specific parts of your model. This form of shading does not work well when you apply textures and materials to your object, so you will need to look to fix the issue with your smooth shading when working with hard surface models.

The best way to do this is to just get rid of the hard edges as smooth shading works much better with smooth edges. More on that below.

The second reason why you are likely to see shading artifacts on your model is the use of poor topology. Topology is the flow of your geometry on your mesh objects. Shading artifacts can appear in one of two instances, either when the geometry or two or more vertices are extremely close together, or if they are in fact overlapping each other.

This creates what is known as non-manifold geometry, which is not supposed to exist on any model. Your geometry cannot overlap itself., and it needs to be a whole solid form.

In this example, fixing your topology will also fix your shading. One way to do this is to simply grab your vertices and move them apart using the G key twice to enable vertex grab.

Another method that is likely to help fix the issue is to merge your geometry. You can use the merge by distance tool in the merge menu and then it will, based on the distance you provide, reduce your geometry based on which vertices are closest to each other.

A tool that works surprisingly well in certain cases is the subdivision surface modifier. When using the subdivision surface modifier, you can actually get rid of your shading issues as the modifier reconstructs your topology. This isn’t the preferred option, however. and isn’t going to work in every case, and works better on objects that have flatter surfaces.

How Do You Get Rid Of Hard Edges In Blender?

Hard edges do not go well with the smooth shading attribute. There are two ways in which we can solve this issue.

We can either get rid of our hard edges and replace them with softer ones, or we can enable a special tool known as auto smooth.

If you’re creating objects based on realism, then you need to understand that the sharp edges of, say, your cube make it impossible to exist in the real world.

No object has edges that sharp. Even the sharpest objects that you can think of have some degree of smoothness/curvature to them.

In Blender, these edges appear infinitely thin and cannot really exist in the real world, so we’re going to need to create smoother edges in their place.

The easiest way to do this is to bevel the geometry. You can either use the bevel tool or you can use the bevel modifier and create the bevel effect on your objects based on the angular limits.

Either of these methods will be suitable for creating those curved edges. In the example below, we have the default cube and then we have the cube with the board Bevel modifier applied to it. Both of these objects have smooth shading applied to them.

Bevel Vs Non-Bevel And Smooth Shading

You can see the effect of smooth shading on the hard-edged object, which is the main cube. The application of the shading does not look correct because it’s struggling with the hard edges. However, when the bevel modifier is used, the shading itself looks much cleaner.

An alternative method of solving the smooth shading issue with hard edges is to enable an attribute known as auto smooth.

To enable the auto smooth attribute, go to your properties panel and then select the object data tab. It should look like an upside-down green triangle.

Autosmooth Option

In this tab, open up the normal section and there should be one option here. The ability to enable auto smooth. Left-click on the box next to auto smooth and as soon as you do this, the shading on your cube object will change and will correct itself.

Thanks For Reading The Article

We appreciate you taking the time to read through this article and we hope that you found the information that you were looking for. We have many articles on the various aspects of Blender and have compiled a few in the list below for your reading.

  • Real-Time vs Pre-Rendered in Blender

    Comparing real-time and pre-rendered graphics in Blender projects.

    Continue Reading

  • Lighting & Rendering: Blender Excellence

    Exhibiting excellence in Blender lighting and rendering techniques.

    Continue Reading

  • Texturing Mastery: Blender Material Showcase And Nodevember

    A showcase of Blender’s capabilities in texturing and material design.

    Continue Reading