Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-13OpenSubdiv: Add stub implementation of C-APISergey Sharybin
C-API is way smaller than the rest of the code which uses it. So better to conditionally compile stub implementation than to keep adding ifdef everywhere.
2018-08-01Subsurf: Evaluate all UV layersSergey Sharybin
Before that it was only first UV layer which was properly evaluated, the rest were ignored. Now all layers are being properly handled.
2018-07-31Subsurf: Rework in a way that patches boundaries are merged togetherSergey Sharybin
The idea is to create vertices along the coarse edges once, without splitting coarse edges on separate ptex faces. This requires some indexing magic, vertices within a patch are no longer sequential. Not sure how to make it nicer without such a black magic looking calculations (which are basically boiling down to mimicking order of verts/edges creation). In the current offsets calculation loose verts and edges are not properly taken into account, but those are causing topology refiner to fail anyway, so it needs a bit deeper change. Reviewers: brecht Differential Revision: https://developer.blender.org/D3570
2018-07-23Subsurf: Subdivide polygons to the same resolutionSergey Sharybin
Previously it was ptex faces which were subdividing to the same resolution. This was looking like more details for non-quad faces, but was also causing discontinuity in the edge where quad touches non-quad polygon. Now ptex faces which are coming from non-quad faces are subdivided at a half of resolution, matching old behavior and solving discontinuity problem.
2018-07-20Subsurf: Add basic statistics to help benchmarkingSergey Sharybin
2018-07-19Subsurf: Set original index for high-poly verticesSergey Sharybin
2018-07-18Subsurf: Begin new subdivision surface moduleSergey Sharybin
The idea is to use this as a replacement of old CCG, now it is based on OpenSubdiv. The goal is to reduce any possible overhead which was happening with OpenSubdiv used by CCG. Currently implemented/supported: - Creation from mesh, including topology on OpenSubdiv side, its refinement. - Evaluation of limit point, first order derivatives, normal, and face-varying data for individual coarse position. - Evaluation of whole patches. Currently not optimized, uses evaluation of individual coarse positions. - Creation of Mesh from subdiv, with all geometry being real: all mvert, medge, mloop, and mpoly. This includes custom data interpolation, but all faces currently are getting separated (they are converted to ptex patches, which we need to weld back together). Still need to support lighter weights grids and such, but this is already a required part to have subsurf working in the middle of modifier stack. Annoying part is ifdef all over the place, to keep it compilable when OpenSubdiv is disabled. More cleaner approach would be to have stub API for OpenSubdiv, so everything gets ifdef-ed in a much fewer places.