Baltor Get started

Gallery / Mesh algorithms

Catmull-Clark subdivision surface

In your harnessMesh algorithmMIT

Smooth a polygon cage into a quad mesh by Catmull-Clark subdivision, with B-spline boundary rules and fixed boundary corners. Use it to turn low-poly blockouts into smooth organic shapes.

Render of Catmull-Clark subdivision surface
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Entry points
catmull_clark, cage, build, main
Parameters
cage, levels
Complexity
O(4^levels * F)
Axes
+Y up, metres

Limits. No crease or corner sharpness tags beyond fixed valence-two boundary corners. Faces may be triangles, quads or larger polygons, but non-manifold edges (three or more faces) are treated as boundary midpoints. Output quads are generally not planar and are split along their shorter diagonal on export. Positions follow the standard rules; the limit surface is not evaluated.

Details

Kind
Mesh algorithm
Engine
Python 3.10 or later
Files
10 files, 226.6 KB
Licence
MIT
Declared effects
reads files, runs commands, writes files
Checked with
Godot 4.7.2, gl_compatibility, OpenGL 3 driver, Mesa llvmpipe under Xvfb
Checks
generator runs system python, generator runs verifier python, gltf strict structure, interpreters agree, example matches generator, godot headless gltf load, godot compatibility render
Techniques
Catmull-Clark subdivision (1978), Cubic B-spline boundary rule, Angle-weighted vertex normals
Tags
subdivision, catmull-clark, smoothing, quad mesh, subdivision surface, modeling
Identity
library.supply.creative_originals.f96a2d8a3e0706e53a1f61b7.ea0d779a94f8f766
Version
ea0d779a94f8f766059fe4eaac40d00ecd95817e7fddbce1bfbc6115e8e70131

The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.

Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.