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
2021-11-08Fix T92481: Memory leak with subdivision surface modifierCampbell Barton
Interpolation vertex data on loose edges was writing into already allocated data. Resolve this by skipping vertex end-points for custom-data interpolation which has already been copied from the source mesh. Reviewed By: sergey Ref D13082
2021-10-14Cleanup: pass the sizeof(..) as the second arg for array allocationCampbell Barton
By argument naming and convention this is the intended argument order.
2021-09-25Cleanup: typos in code and comments.Kévin Dietrich
No functional changes.
2021-09-15Cleanup: Use function to mark mesh normals dirtyHans Goudey
2020-10-11Cleanup: make formatAaron Carlisle
2020-10-05Fix T81392: subdivision surface poor shading without limit surfacePiotr Ostrowski
When the limit surface is disabled OpenSubdiv generates a set of linear patches which are only C0 continuous, not C1. This makes it impossible to evaluate derivatives at vertices which, in this mode, are by definition put at boundaries of patches. Normals are calculated from those derivatives. Solution is to disable normal calculation and let it be done downstream, as for other modifiers. This limitation is also the reason that non feature adaptive subdivision is badly suited for GPU evaluation. Differential Revision: https://developer.blender.org/D9103
2020-08-12UI: Fix typo "subdivion" -> subdivisionPablo Vazquez
In the Multires panel, use singular Subdivision instead of Subdivisions.
2020-04-29Cleanup: use doxy sections for multires & subdiv sourcesCampbell Barton
2020-04-01Subdiv: Split evaluation begin+refine into separate stepsSergey Sharybin
Actually, begin will do the entire initialization. Refine will only refine if there is a topology refiner associated with the Subdiv descriptor. Allows to refine Subdiv to new coarse positions without touching displacement evaluation. Will be needed to update SubdivCCG during sculpt undo.
2020-03-26SubDiv: Incorrect normals loose edgesJeroen Bakker
The normals of loose edges can be non uniform as they aren't normalized. Checked with what happens with edit loose edges and synchronized the implementation. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D7127
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2019-11-24Cleanup: spelling, repeated wordsCampbell Barton
2019-09-26Fix T70163: Error painting with Subdivision at end of stackSergey Sharybin
Deformation of subdivision surface modifier was using wrong coordinates for the coarse mesh: as the modifier flow goes the coordinates are to be taken from the input array of coordinates.
2019-09-19Subdiv: Cleanup, commentsSergey Sharybin
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-08-27Fix multires modifier using too much memory outside of sculpt modeBrecht Van Lommel
This reduce memory usage by about 25% in object mode for multires meshes.
2019-07-29Fix T67800: Incorrect behavior of simple Subdivision SurfaceSergey Sharybin
Stupid typo in an original fix, need to operate in 3D, not in 2D.
2019-07-25Fix T67599: Issue with Simple subdivision of loose edgesSergey Sharybin
They were always acting as a B-Spline subdivision.
2019-07-08Fix T62941 Subdivision Modifier Showing all face dotsClément Foucault
Previously in 2.79 we were using a specialized drawing using derivedMesh. Now the subsurf modifier tag each center vertex as facedot and let the DRWManager pick it up. Some modifiers (deforming ones) do not clear the tag so we can use this technique even if there is deforming modifiers after subsurf modifiers.
2019-06-17Cleanup: comment, RNA spellingCampbell Barton
2019-04-18Cleanup: add trailing commas to avoid right shiftCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-04Cleanup: Typos in comments (to to)Pablo Vazquez
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2019-01-24Subdiv: Fix wrong orig_index for vertices of a loose edgeSergey Sharybin
2019-01-24Fix T60408: Loose edge distort vertex on a surfaceSergey Sharybin
Treat those vertices as infinitely sharp. This matches the way how OpenSubdiv's topology is being created.
2019-01-23Fix T58994: Subdivision modifier generates artifacts with crease=1Sergey Sharybin
The issue was caused by the lack of averaging of normals for vertices which are on the ptex face boundaries.
2019-01-10Fix T60393: Subdiv gives wrong vertex colorsSergey Sharybin
2018-12-12Fix T58450: Skin modifier not working if applied after subsurfSergey Sharybin
2018-12-03Subdiv: Set edge render flags according to Optimal DisplaySergey Sharybin
This is a part of T58609, but work is still needed to properly support this flag in the draw manager.
2018-11-28Fix broken subdivision surface edit mode cage display.Brecht Van Lommel
2018-09-24Spelling fixes in comments and descriptions (2.8 changes), patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-04Subdiv: Move mesh creation functionality to own headerSergey Sharybin
2018-09-04Subdiv: Move evaluation functionality to own headerSergey Sharybin
2018-09-04Subdiv: Move FOREACH functionality to own headerSergey Sharybin
2018-08-24Cleanup: indentation, styleCampbell Barton
2018-08-22MSVS 2017 Bug - Subdiv MeshCharlie Jolly
Apparently, struct initialization can not be empty, Reviewers: sergey Reviewed By: sergey Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D3636
2018-08-22Subsurf: Implement foreach traversal for subdivsion topologySergey Sharybin
This makes it more generic process to perform actions which depend on ptex face + (u, v) and on subdivided vertex index. Currently it is still just a subdivision calculation process, but same foreach callbacks can easily be used to propagate displacement from known vertex locations back to displacement grids.
2018-08-15Multires: Initial groundwork to hook up displacement to new Subdiv objectSergey Sharybin
Adds a displacement support for OpenSubdiov based subsurf object implemented as a callback which gives vector displacement in object space. Currently is implemented to calculate displacement based on myltires displacement grids, but we can support things in the future if needed. Submitting to review to see if there is something obviously wrong in the direction (old multires code was sharing same displacement code to both calculate final displaced mesh and reshape an existing one, which is rather confusing and probably can be done more cleanly?). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D3604
2018-08-15Subdiv: Cleanup, dead codeSergey Sharybin
2018-08-15Subdiv: Fix memory leak interpolating CD_MDISPSergey Sharybin
Can not copy data without freeing the previous storage.
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-08Cleanup: styleCampbell Barton
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-08-01Subsurf: Support subdivision of loose elementsSergey Sharybin
Applies to vertices and edges. Biggest annoyance here is that OpenSubdiv's topology converter expects that there is no loose geometry, otherwise it is getting confused. For now solution is to create some sort of mapping from real Mesh vertex and edge index to a non-loose-index. Now the annoying part is that this is an extra step to calculate before we can compare topology, meaning FPS will not be as great as if we knew for sure that topology didn't change. Loose edges subdivision is different from what it used to be with old subdivision code, but probably nice feature now is that endpoints of loose edges are stay at the coarse vertex locations. This allows to have things like plane with hair strands, without need to duplicate edge vertices at endpoints. All this required some re-work of topology refiner creation, which is now only passing edges and vertices which are adjacent to face. This is how topology refiner is supposed to be used, and this is how its validator also works. Vertices which are adjacent to loose edges are marked as infinite sharp. This seems to be good-enough approximation for now. In the future we might tweaks things a bit and push such vertices in average direction of loose edges, to match old subdivision code closer.
2018-08-01Subsurf: Cleanup, remove dead codeSergey Sharybin