Topology

토폴로지

How a mesh’s vertices, edges, and faces are arranged across a surface — especially whether its four-sided faces follow the form’s natural contours.

Also known as: Edge flowPolesQuad-dominant mesh
···
html
<div class="topo-wrap">
  <div class="topo-panel">
    <svg viewBox="0 0 104 100" class="topo-svg">
      <g class="grid">
        <line x1="12" y1="15" x2="12" y2="84"/><line x1="32" y1="15" x2="32" y2="84"/><line x1="52" y1="15" x2="52" y2="84"/><line x1="72" y1="15" x2="72" y2="84"/><line x1="92" y1="15" x2="92" y2="84"/>
        <line x1="12" y1="15" x2="92" y2="15"/><line x1="12" y1="38" x2="92" y2="38"/><line x1="12" y1="61" x2="92" y2="61"/><line x1="12" y1="84" x2="92" y2="84"/>
      </g>
      <path class="flow" d="M32,38 H72 V61 H32 Z"/>
    </svg>
    <span class="topo-cap">quads</span>
  </div>
  <div class="topo-panel">
    <svg viewBox="0 0 104 100" class="topo-svg">
      <g class="grid">
        <line x1="12" y1="15" x2="12" y2="84"/><line x1="32" y1="15" x2="32" y2="84"/><line x1="52" y1="15" x2="52" y2="84"/><line x1="72" y1="15" x2="72" y2="84"/><line x1="92" y1="15" x2="92" y2="84"/>
        <line x1="12" y1="15" x2="92" y2="15"/><line x1="12" y1="38" x2="92" y2="38"/><line x1="12" y1="61" x2="92" y2="61"/><line x1="12" y1="84" x2="92" y2="84"/>
      </g>
      <g class="diag">
        <line x1="12" y1="15" x2="32" y2="38"/><line x1="32" y1="15" x2="52" y2="38"/><line x1="52" y1="15" x2="72" y2="38"/><line x1="72" y1="15" x2="92" y2="38"/>
        <line x1="12" y1="61" x2="32" y2="38"/><line x1="32" y1="61" x2="52" y2="38"/><line x1="52" y1="61" x2="72" y2="38"/><line x1="72" y1="61" x2="92" y2="38"/>
        <line x1="12" y1="61" x2="32" y2="84"/><line x1="32" y1="61" x2="52" y2="84"/><line x1="52" y1="61" x2="72" y2="84"/><line x1="72" y1="61" x2="92" y2="84"/>
      </g>
      <circle class="pole" cx="32" cy="38" r="2.4"/><circle class="pole" cx="72" cy="38" r="2.4"/><circle class="pole" cx="52" cy="61" r="2.4"/>
    </svg>
    <span class="topo-cap">triangles + poles</span>
  </div>
</div>
css
.topo-wrap{display:flex;gap:clamp(8px,4vmin,22px);align-items:center;justify-content:center;width:100%;height:100%;padding:clamp(10px,3vmin,18px)}
.topo-panel{position:relative;flex:1;max-width:220px}
.topo-svg{width:100%;height:auto;display:block}
.grid line{stroke:var(--fg);stroke-width:1;opacity:.5}
.diag line{stroke:var(--muted);stroke-width:.7;opacity:.6}
.flow{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linejoin:round;stroke-dasharray:12 8;animation:topo-flow 2.6s linear infinite}
.pole{fill:var(--accent-2);animation:topo-pulse 1.4s ease-in-out infinite}
.pole:nth-of-type(2){animation-delay:.25s}
.pole:nth-of-type(3){animation-delay:.5s}
.topo-cap{display:block;margin-top:.6em;text-align:center;font-size:clamp(9px,2.6vmin,13px);color:var(--muted);letter-spacing:.02em}
@keyframes topo-flow{to{stroke-dashoffset:-40}}
@keyframes topo-pulse{0%,100%{opacity:.6;r:2.2}50%{opacity:1;r:3.4}}

Topology isn’t about how many polygons a mesh has — it’s about where they sit. Good topology has its edge loops follow the way a form actually bends (the curve of an eye, a mouth, a muscle), and is mostly built from four-sided faces (quads). Quads stretch evenly when a surface bends, so both animation and subdivision deform them predictably.

The trouble spots are “poles” — vertices where three, or five-plus, edges meet. Shading pinches slightly there, and subdivision can dent the surface around them. A pole isn’t inherently bad (some are unavoidable, like the crown of a head or between fingers); it only becomes visible trouble when it sits in the middle of an otherwise smooth, visible curve.

Blender, Maya, and Cinema 4D all call this “edge flow,” and surface it with n-gon warnings and pole-highlight viewport overlays. Models built for games or animation rarely ship a raw scan or sculpt as-is — they get retopologized (next entry) to follow this flow.

When to use

Check this when building a model meant to animate, retopologizing a sculpt, or when a subdivision surface dents somewhere you didn’t expect.