Subdivision Shading for Catmull-Clark and Loop Subdivision Surfaces with Semi-Sharp Creases
Abstract
:1. Introduction
- we apply the method also to Loop subdivision (which is based on triangular meshes),
- extend the method to open meshes (for both Catmull-Clark and Loop subdivision),
- discuss improvements to the efficiency of the implementation of semi-sharp subdivision shading,
- and provide a more extensive evaluation and discussion of results.
2. Related Work
2.1. Semi-Sharp Creases
- Smooth or dart vertex: If a vertex has fewer than two incident sharp edges, its new vertex point is determined using the standard Catmull-Clark or Loop subdivision rules, called the smooth rule. This includes the cases when creating a new face point (in the case of Catmull-Clark subdivision), the new edge point of a smooth edge, the new vertex point of a smooth vertex, or the new vertex point of a dart vertex (i.e., a vertex with only one incident sharp edge).
- Crease vertex: If a vertex has exactly two incident sharp edges, it is subdivided as if it were a boundary vertex. The corresponding rule is the crease rule, coming from the uniform cubic B-spline curve subdivision scheme (this applies to the Catmull-Clark as well as the Loop subdivision scheme). For example, the new vertex point of a sharp edge, or the new vertex point of a vertex incident with two sharp edges, is generated using this crease rule.
- Corner vertex: If a vertex is incident with more than two sharp edges, its coordinates do not change throughout the subdivision process. The rule is called the corner rule. For example, the new vertex point of a vertex incident with three sharp edges (such as the corner of a cube) inherits the coordinates from the corresponding old vertex.
2.2. Subdivision Shading
2.3. Blending of Normal Fields
3. Subdivision Shading with Semi-Sharp Creases
3.1. Blending at Sharp Vertices
- Variant A: We treat sharp vertices as standard (smooth) vertices. In other words, initialising extraordinary sharp vertices (and possibly their one ring neighborhood) with control blending weights that will lead to the value of 1 in the limit (see Section 2.3), and initialising regular sharp vertices with 0.
- Variant B: We initialise the control blending weights of sharp vertices to 0, no matter whether they are regular vertices or EVs. The idea behind this is that sharp vertices are not meant to look smooth, and thus are not expected to benefit from subdivided normals.
3.2. Blending at Semi-Sharp Vertices
3.3. Blending at Dart Vertices
3.4. Normals at Sharp Vertices
3.5. Implementation
- fs x, where x is a sequence of digits specifying the sharpness values of the edges of a face in clockwise order. For example: fs 1 2 3 2 5.
- as y x: x is the same as above and y is a positive integer. This will assign the sharpness values x to the next y faces in the list.
4. Results
4.1. Catmull-Clark and Loop Subdivision Results
4.2. Blend Weights at Creases with the Two Variants
4.3. Blend Weights at Darts
5. Discussion
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Catmull, E.; Clark, J. Recursively generated B-spline surfaces on arbitrary topological meshes. Comput.-Aided Des. 1978, 10, 350–355. [Google Scholar] [CrossRef]
- Loop, C. Smooth Subdivision for Surfaces Based on Triangles. Master’s Thesis, University of Utah, Salt Lake City, UT, USA, 1987. [Google Scholar]
- Alexa, M.; Boubekeur, T. Subdivision shading. In Proceedings of the ACM Siggraph Asia, Singapore, 10–13 December 2008; pp. 1–4. [Google Scholar]
- Bakker, J.; Barendrecht, P.; Kosinka, J. Smooth Blended Subdivision Shading. In Proceedings of the Eurographics (Short Papers), Delft, The Netherlands, 16–20 April 2018; pp. 37–40. [Google Scholar]
- DeRose, T.; Kass, M.; Truong, T. Subdivision surfaces in character animation. In Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques, Orlando, FL, USA, 19–24 July 1998; pp. 85–94. [Google Scholar]
- Ling, R.; Wang, W.; Yan, D. Fitting Sharp Features with Loop Subdivision Surfaces. Comput. Graph. Forum 2008, 27, 1383–1391. [Google Scholar] [CrossRef]
- Zhou, J.; Boonstra, J.; Kosinka, J. Semi-Sharp Subdivision Shading; Eurographics Association: Eindhoven, The Netherlands, 2022. [Google Scholar]
- Kovacs, D.; Mitchell, J.; Drone, S.; Zorin, D. Real-time creased approximate subdivision surfaces. In Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games, New York, NY, USA, 27 February–1 March 2009; pp. 155–160. [Google Scholar]
- Brainerd, W.; Foley, T.; Kraemer, M.; Moreton, H.; Nießner, M. Efficient GPU rendering of subdivision surfaces using adaptive quadtrees. ACM Trans. Graph. 2016, 35, 1–12. [Google Scholar] [CrossRef]
- Kosinka, J.; Sabin, M.; Dodgson, N. Subdivision surfaces with creases and truncated multiple knot lines. Comput. Graph. Forum 2014, 33, 118–128. [Google Scholar] [CrossRef]
- Hoppe, H.; DeRose, T.; Duchamp, T.; Halstead, M.; Jin, H.; McDonald, J.; Schweitzer, J.; Stuetzle, W. Piecewise smooth surface reconstruction. In Proceedings of the Computer Graphics and Interactive Techniques, Orlando, FL, USA, 24–29 July 1994; pp. 295–302. [Google Scholar]
- Kosinka, J.; Sabin, M.; Dodgson, N. Semi-sharp Creases on Subdivision Curves and Surfaces. Comput. Graph. Forum 2014, 33, 217–226. [Google Scholar] [CrossRef]
- McGuire, M. The Half-Edge Data Structure. 2000. Available online: https://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml (accessed on 20 April 2023).
- Stam, J. On subdivision schemes generalizing uniform B-spline surfaces of arbitrary degree. Comput. Aided Geom. Des. 2001, 18, 383–396. [Google Scholar] [CrossRef]
- Barendrecht, P.; Sabin, M.; Kosinka, J. A bivariate C1 subdivision scheme based on cubic half-box splines. Comput. Aided Geom. Des. 2019, 71, 77–89. [Google Scholar] [CrossRef]
- Dupuy, J.; Vanhoey, K. A Halfedge Refinement Rule for Parallel Catmull-Clark Subdivision. Comput. Graph. Forum 2021, 40, 57–70. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zhou, J.; Boonstra, J.; Kosinka, J. Subdivision Shading for Catmull-Clark and Loop Subdivision Surfaces with Semi-Sharp Creases. Computers 2023, 12, 85. https://doi.org/10.3390/computers12040085
Zhou J, Boonstra J, Kosinka J. Subdivision Shading for Catmull-Clark and Loop Subdivision Surfaces with Semi-Sharp Creases. Computers. 2023; 12(4):85. https://doi.org/10.3390/computers12040085
Chicago/Turabian StyleZhou, Jun, Jan Boonstra, and Jiří Kosinka. 2023. "Subdivision Shading for Catmull-Clark and Loop Subdivision Surfaces with Semi-Sharp Creases" Computers 12, no. 4: 85. https://doi.org/10.3390/computers12040085
APA StyleZhou, J., Boonstra, J., & Kosinka, J. (2023). Subdivision Shading for Catmull-Clark and Loop Subdivision Surfaces with Semi-Sharp Creases. Computers, 12(4), 85. https://doi.org/10.3390/computers12040085