content Main menu Main menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 Recursive evaluation Toggle Recursive evaluation subsection 1.1 Properties 2 Exact evaluation 3 Extensions Toggle Extensions subsection 3.1 Semi-sharp creases 4 Software using the algorithm 5 See also 6 References 7 Further reading Toggle the table of contents Catmull–Clark subdivision surface 4 languages Deutsch فارسی עברית Русский Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Technique in 3D computer graphics Catmull–Clark level-3 subdivision of a cube with the limit subdivision surface shown below. (Note that although it looks like the bi-cubic interpolation approaches a sphere , an actual sphere is quadric .) Visual difference between sphere (green) and Catmull-Clark subdivision surface (magenta) from a cube The Catmull–Clark algorithm is a technique used in 3D computer graphics to create curved surfaces by using subdivision surface modeling . It was devised by Edwin Catmull and Jim Clark in 1978 as a generalization of bi-cubic uniform B-spline surfaces to arbitrary topology . [ 1 ] In 2005/06, Edwin Catmull, together with Tony DeRose and Jos Stam , received an Academy Award for Technical Achievement for their invention and application of subdivision surfaces. DeRose wrote about "efficient, fair interpolation" and character animation. Stam described a technique for a direct evaluation of the limit surface without recursion. Recursive evaluation [ edit ] Catmull–Clark surfaces are defined recursively , using the following refinement scheme. [ 1 ] Start with a mesh of an arbitrary polyhedron . All the vertices in this mesh shall be called original points . For each face, add a face point Set each face point to be the average of all original points for the respective face Face points (blue spheres) For each edge, add an edge point . Set each edge point to be the average of the two neighbouring face points (A,F) and the two endpoints of the edge (M,E) A + F + M + E 4 {\displaystyle {\frac {A+F+M+E}{4}}} [ 2 ] Edge points (magenta cubes) For each original point ( P) , take the average ( F) of all n (recently created) face points for faces touching P , and take the average (R) of all n edge midpoints for original edges touching P , where each edge midpoint is the average of its two endpoint vertices (not to be confused with new edge points above). (Note that from the perspective of a vertex P , the number of edges neighboring P is also the number of adjacent faces, hence n ) Move each original point to the new vertex point F + 2 R + ( n − 3 ) P n {\displaystyle {\frac {F+2R+(n-3)P}{n}}} (This is the barycenter of P , R and F with respective weights ( n − 3), 2 and 1) New vertex points (green cones) Form edges and faces in the new mesh Connect each new face point to the new edge points of all original edges defining the original face New edges, 4 per face point Connect each new vertex point to the new edge points of all original edges incident on the original vertex 3 new edges per vertex point of shifted original vertices Define new faces as enclosed by edges Final faces to the mesh Properties [ edit ] The new mesh will consist only of quadrilaterals , which in general will not be planar . The new mesh will generally look "smoother" (i.e. less "jagged" or "pointy") than the old mesh. Repeated subdivision results in meshes that are more and more rounded. The arbitrary-looking barycenter formula was chosen by Catmull and Clark based on the aesthetic appearance of the resulting surfaces rather than on a mathematical derivation , although they do go to great lengths to rigorously show that the method converges to bicubic B-spline surfaces. [ 1 ] It can be shown that the limit surface obtained by this refinement process is G 1 {\displaystyle G^{1}} (tangent plane) continuous at extraordinary vertices (valence not equal to 4) and C 2 {\displaystyle {\mathcal {C}}^{2}} continuous at regular points (valence equal to 4). [ 3 ] (when n indicates how many derivatives are continuous , we speak of C n {\displaystyle {\mathcal {C}}^{n}} continuity ). After one iteration, the number of extraordinary points on the surface remains constant. Exact evaluation [ edit ] The limit surface of Catmull–Clark subdivision surfaces can also be evaluated directly, without any recursive refinement. This can be accomplished by means of the technique of Jos Stam (1998). [ 4 ] This method reformulates the recursive refinement process into a matrix exponential problem, which can be solved directly by means of matrix diagonalization . Extensions [ edit ] Semi-sharp creases [ edit ] Catmull–Clark surfaces were extended to support semi-sharp creases by using different subdivision rules for a fixed number of iterations determined by a sharpness value. [ 5 ] This approach, introduced by Tony DeRose et al. in 1998, allows for a controllable transition from sharp to smooth subdivision rules. Software using the algorithm [ edit ] This section needs additional citations for verification . Please help improve this article by adding citations to reliable sources  in this section. Unsourced material may be challenged and removed. ( April 2013 ) ( Learn how and when to remove this message ) 3ds Max 3D-Coat AC3D Anim8or AutoCAD Blender [ 6 ] Carrara CATIA (Imagine and Shape) CGAL Cheetah3D Cinema4D Clara.io Creo (Freestyle) [ 7 ] Daz Studio, 2.0 DeleD Community Edition DeleD Designer Hammer Hexagon Houdini LightWave 3D, version 9 Makehuman Maya Metasequoia MODO Mudbox Power Surfacing add-in for SolidWorks Pixar's OpenSubdiv [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] PRMan Realsoft3D Remo 3D Rhinoceros 3D - Grasshopper 3D Plugin - Weaverbird Plugin Silo SketchUp - Requires a Plugin. Softimage XSI Strata 3D CX Wings 3D Zbrush See also [ edit ] Conway polyhedron notation - A set of related topological polyhedron and polygonal mesh operators. Doo-Sabin subdivision surface Loop subdivision surface References [ edit ] ^ a b c Catmull, E. ; Clark, J. (1978). "Recursively generated B-spline surfaces on arbitrary topological meshes" (PDF) . Computer-Aided Design . 10 (6): 350. doi : 10.1016/0010-4485(78)90110-0 . S2CID   121149868 . ^ "Catmull–Clark subdivision surface - Rosetta Code" . rosettacode.org . Retrieved 2022-01-13 . ^ Peters, J.; Reif, U. (1998). "Analysis of algorithms for stationary subdivision of arbitrary topology". SIAM Journal on Numerical Analysis . 35 (3). SIAM: 1095– 1114. doi : 10.1137/S00361445983416 . ^ Stam, J. (1998). "Exact evaluation of Catmull-Clark subdivision surfaces at arbitrary parameter values" (PDF) . Proceedings of the 25th annual conference on Computer graphics and interactive techniques - SIGGRAPH '98 . pp.  395–404 . CiteSeerX   10.1.1.20.7798 . doi : 10.1145/280814.280945 . ISBN   978-0-89791-999-9 . S2CID   2771758 . ^ DeRose, T.; Kass, M.; Truong, T. (1998). "Subdivision surfaces in character animation". Proceedings of the 25th annual conference on Computer graphics and interactive techniques - SIGGRAPH '98 . ACM SIGGRAPH. pp.  85– 94. doi : 10.1145/280814.280826 . ^ "Subdivision Surface Modifier" . 2020-01-15. ^ "Archived copy" (PDF) . Archived from the original (PDF) on 2016-11-23 . Retrieved 2016-12-04 . {{ cite web }} : CS1 maint: archived copy as title ( link ) ^ Manuel Kraemer (2014). "OpenSubdiv: Interoperating GPU Compute and Drawing". In Martin Watt; Erwin Coumans; George ElKoura; et al. (eds.). Multithreading for Visual Effects . CRC Press. pp.  163– 199. ISBN   978-1-4822-4356-7 . ^ Meet the Experts: Pixar Animation Studios, The OpenSubdiv Project . YouTube . Archived from the original on 2021-12-11. ^ "Pixar's OpenSubdiv V2: A detailed look" . 2013-09-18. ^ AV Media gputechconf.com ^ OpenSubdiv Blender demo . YouTube . Archived from the original on 2021-12-11. Further reading [ edit ] Derose, T.; Kass, M.; Truong, T. (1998). "Subdivision surfaces in character animation" (PDF) . Proceedings of the 25th annual conference on Computer graphics and interactive techniques - SIGGRAPH '98 . pp.  85 . CiteSeerX   10.1.1.679.1198 . doi : 10.1145/280814.280826 . ISBN   978-0897919999 . S2CID   1221330 . Loop, C.; Schaefer, S. (2008). "Approximating Catmull-Clark subdivision surfaces with bicubic patches" (PDF) . ACM Transactions on Graphics . 27 : 1– 11. CiteSeerX   10.1.1.153.2047 . doi : 10.1145/1330511.1330519 . S2CID   6068564 . Kovacs, D.; Mitchell, J.; Drone, S.; Zorin, D. (2010). "Real-Time Creased Approximate Subdivision Surfaces with Displacements" (PDF) . IEEE Transactions on Visualization and Computer Graphics . 16 (5): 742– 51. doi : 10.1109/TVCG.2010.31 . PMID   20616390 . S2CID   17138394 . preprint Matthias Nießner, Charles Loop, Mark Meyer, Tony DeRose, " Feature Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces ", ACM Transactions on Graphics Volume 31 Issue 1, January 2012, doi : 10.1145/2077341.2077347 , demo Nießner, Matthias; Loop, Charles; Greiner, Günther: Efficient Evaluation of Semi-Smooth Creases in Catmull-Clark Subdivision Surfaces : Eurographics 2012 Annex: Short Papers (Eurographics 2012, Cagliary). 2012, pp 41–44. Wade Brainerd, Tessellation in Call of Duty: Ghosts also presented as a SIGGRAPH2014 tutorial [1] D. Doo and M. Sabin: Behavior of recursive division surfaces near extraordinary points , Computer-Aided Design, 10 (6) 356–360 (1978), ( doi , pdf ) Retrieved from " https://en.wikipedia.org/w/index.php?title=Catmull–Clark_subdivision_surface&oldid=1359572412 " Categories : 3D computer graphics Multivariate interpolation Hidden categories: CS1 maint: archived copy as title Articles with short description Short description is different from Wikidata Articles needing additional references from April 2013 All articles needing additional references This page was last edited on 16 June 2026, at 01:10  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Catmull–Clark subdivision surface 4 languages Add topic