Header; a wireframe in abstract.

Topology in Brief

Topology is the art and science of wrapping grids around things. It's very hard-- essentially impossible-- to make a model that's fully prepared for every possible situation, so topology and the ultimate purpose of a mesh are closely intertwined.

In the image above, all three meshes have more or less the same silhouette, but their topology-- the grid describing them-- is very different. Each one has different strengths and weaknesses.

For example, the topology on the left is commonly used for eyeballs, but the lighting tends to 'pinch' at the pole. For an eyeball's purpose, this is fine, because that pole is hidden in the pitch-black iris of the eye.

The topology on the right is the same as a cube-- its vertices have just been moved around to be more sphere-shaped-- and would be ideal for shape keying, like that old Windows screensaver you might remember.

There is 'good' topology, but there is no 'perfect' topology, and modern computers' power make topology more of an artistic pursuit than a technical one these days-- it's not the end of the world if your mesh has some parts that squish a bit weird.

So, you've probably noticed there's been a lot of jargon so far-- it's hard to avoid, since English makes it more than a little difficult to describe geometry on its own. Let's talk about faces, the wide, flat parts of a mesh you'll be working with often.

[Image: quads, then subdivided (smoothed) quads]

Quads are faces with four sides. In outline, they're square, or at least rectangular, and they aren't necessarily flat. Most people use quads when modeling, because their four-sided geometrical nature allows them to be arranged into loops that make it easier to add and remove detail where needed.

This arrangement is also vital for subdivision modeling-- a modeling technique that relies on the mesh being later algorithmically smoothed, by adding more faces. You can divide a square into more squares, and it won't distort, but dividing a triangle becomes ... hairy.

[Image: ngon, then the artifacting that occurs around a subdivided one]

N-gons are faces with five or more sides. Since all polygons have to be reduced to triangles at some point,1 computing n-gons is a complicated problem that different programs handle differently. That's why people usually avoid n-gons-- they're unpredictable. Sometimes, though, their behavior may be no big deal, or even desirable. It's not the worst thing if you get stumped and shove one in a corner somewhere.

[Image: sculpt with visible blobbing]

Voxel or sculpted meshes, eg. via zbrush or 3Dcoat, have to be exported to mesh form; they don't have topology in the same sense a mesh does. This is also true of NURBS, which are 3D shapes made from bezier curves, and a few other technologies. You can read 'voxel' as 'volume pixel'. A voxel object converted to mesh has a topology made of dense triangles. These meshes are too high-poly to use in a game, and don't bend well for animation, but they can be laid on top of a similarly-shaped model with different topology to make a normal map. That's how modern games can look so high-poly while their meshes are actually quite sparse.

  1. Generally speaking, graphics acceleration-- as well as most polygon math-- only works with triangles. There are exceptions, but it's the rule.

Geometrical Sudoku

It can be helpful to think of mesh flow as a kind of geometrical sudoku; change in one row must be reflected in the others, or you end up with unaccountable, unfillable spots.

Mesh flow is a sub-discipline of topology, specifically to do with the edge and face loops that appear in a mesh designed with quads. It's especially relevant to subdivision modeling, as the closeness of edges determines how soft or sharp/hard that part of the mesh will ultimately be after subdivision; as a result, flow can determine where detail can be added or removed.

Loops are not necessarily circular-- using the principles of mesh flow, they can be arranged in complex, wandering patterns that may look more like bows or mazes, depending on the needs of the mesh.

[img: face with loops and poles highlighted, and a triangle blocking]

It's a complicated topic with a lot of 'tricks' to it, and I won't go into it in depth here beyond a couple of principles to look out for:

Poles, any point with more or less than 4 edges attached, change the direction of flow. As mentioned above with the eye example, they also tend to distort the area around them, as the local density of the mesh around them will be lower or higher than average-- there's an unusual number of faces around them! So a common puzzle is placing poles where the distortion won't be noticeable, or will add to the desired effect.

(I frequently open my paper-and-pencil notebook to solve these puzzles before they can trip me up-- if that's helpful to you, do it.)

Any kind of face other than a quad will disrupt flow. It's impossible to calculate the direction of the loop with non-quads involved; with triangles and n-gons, edges aren't determinably 'across' from each other. However, there may be times you want to disrupt a loop, intentionally.

Any given face is typically involved in at least 2 loops. It may be helpful to think of a model as made of wrapped wire-- or, my preference, rubber bands.

You can see where the back and belly of the cat, previously invisible due to their perpendicularity to the camera, begin to become visible due to the smoothing wrapping them into the camera plane.

More info