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-20Fix BMesh edge_bisect, edge_percent being ignoredAndrew Hale
Also fix float/int/bool access methods
2018-08-04Fix T56222: Bevel Modifier bug (uninitialized value).Bastien Montagne
2018-07-12Cleanup: header guardsCampbell Barton
2018-06-30Cleanup: rename bmesh_queries -> bmesh_queryCampbell Barton
Other files with the same purpose already used 'query'.
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-17Cleanup: use clamp_* from BLI_math (replace macro)Campbell Barton
2018-06-15Fix T55490, intersect two triangles fails.Howard Trickey
Need to use the 'use_partial_connect' option in island connect, so changed signatures of various functions to pass that into and then down from BM_mesh_intersect (making true for intersect, false for boolean). Then fix bm_face_split_edgenet_partial_connect to work when input edges are not necessarily wire, but at least not in the face they are being connected in. That caused generalization of core BM_vert_separate_hflag_wire (which is only used in this one place in all Blender).
2018-06-13Cleanup: get rid of last G.main in BMesh code.Bastien Montagne
2018-06-07Fix double free in dyntopo-sculpt mode undoCampbell Barton
2018-06-04Cleanup: strip trailing space in bmesh moduleCampbell Barton
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-05-28Windows: Add support for building with clang.Ray Molenkamp
This commit contains the minimum to make clang build/work with blender, asan and ninja build support is forthcoming Things to note: 1) Builds and runs, and is able to pass all tests (except for the freestyle_stroke_material.blend test which was broken at that time for all platforms by the looks of it) 2) It's slightly faster than msvc when using cycles. (time in seconds, on an i7-3370) victor_cpu msvc:3099.51 clang:2796.43 pavillon_barcelona_cpu msvc:1872.05 clang:1827.72 koro_cpu msvc:1097.58 clang:1006.51 fishy_cat_cpu msvc:815.37 clang:722.2 classroom_cpu msvc:1705.39 clang:1575.43 bmw27_cpu msvc:552.38 clang:561.53 barbershop_interior_cpu msvc:2134.93 clang:1922.33 3) clang on windows uses a drop in replacement for the Microsoft cl.exe (takes some of the Microsoft parameters, but not all, and takes some of the clang parameters but not all) and uses ms headers + libraries + linker, so you still need visual studio installed and will use our existing vc14 svn libs. 4) X64 only currently, X86 builds but crashes on startup. 5) Tested with llvm/clang 6.0.0 6) Requires visual studio integration, available at https://github.com/LazyDodo/llvm-vs2017-integration 7) The Microsoft compiler spawns a few copies of cl in parallel to get faster build times, clang doesn't, so the build time is 3-4x slower than with msvc. 8) No openmp support yet. Have not looked at this much, the binary distribution of clang doesn't seem to include it on windows. 9) No ASAN support yet, some of the sanitizers can be made to work, but it was decided to leave support out of this commit. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3304
2018-05-22Fix T55093: Bisect + fill crashCampbell Barton
2018-05-15Fix BMesh bisect not flagging dirty indicesCampbell Barton
2018-05-07Fix Bevel percent mode bug 54228Howard Trickey
Previous new adjust pass commit should have excluded percent mode.
2018-05-04Fix wireframe modifier w/ even offsetCampbell Barton
Was passing non-normalized axis to angle_on_axis.
2018-04-16Cleanup: indentationCampbell Barton
2018-04-16Cleanup: indentationCampbell Barton
2018-04-03Cleanup: rename BMesh count_ex -> count_at_mostCampbell Barton
2018-03-31BLI_sort_utils: add pointer sorting callbackCampbell Barton
Also rename Pointer -> Ptr
2018-03-14Cleanup: rename BLI_array_count -> lenCampbell Barton
Match naming convention used everywhere else. Count should only be used when this isn't directly accessible.
2018-03-13Cleanup: doxygen commentsCampbell Barton
2018-03-01Refactor: Merge non-functional-change part of 'edit normals' 2017 GSoC.Bastien Montagne
This merges changes in internals, runtime-only of existing custom normals code, which make sense as of themselves, and will make diff of soc branch easier/lighter to review. In the details, it mostly changes two things: * Now, smooth fans (aka MLoopNorSpaceArray) can store either loop indices, or pointers to BMLoop themselves. This makes sense since in BMesh, it's relatively easy to get index from a BMElement, but nearly impracticable to go the other way around. * First change enforces another, now we cannot rely anymore on `loops` being NULL in MLoopNorSpace to detect single-loop fans, so we instead store that info in a new flag. Again, these are expected to be totally non-functional changes.
2018-02-22Fix (unreported) meshes changing shading when creating empty clnors data.Bastien Montagne
When you were using autosmooth to generate some custom normals, and created empty custom loop normal data, you would go back to an 'all smooth' shading, cancelling some sharp edges generated by the mesh's smooth threshold. Now we will first tag such edges as sharp, such that shading remains the same. This is not crucial in current master, but it is for clnors editing gsoc branch!
2018-02-22Cleanup: clnor code: more 'do not use same varname for two different things'.Bastien Montagne
2018-02-19Cleanup: remove BMeshToMeshParams.calc_tessfaceCampbell Barton
This wasn't used, tessface is being phased out. Caller can run explicitly if needed.
2018-02-19Fix T54098: Crash existing /w dyntopo sculptCampbell Barton
Optionally don't remap indices for objects. Checking all objects parent's would reference a freed pointer while freeing all objects. In the case of dynamic topology there is no use in keeping track of hook/vertex-parent indices. Also disable this when creating meshes for undo storage since adding an undo step shouldn't be modifying other objects.
2018-02-18Cleanup: add 2d suffix to BLI filesCampbell Barton
Some of these API's can have 3D versions, explicitly name them 2D.
2018-02-15Cleanup: use '_len' instead of '_size' w/ BLI APICampbell Barton
- When returning the number of items in a collection use BLI_*_len() - Keep _size() for size in bytes. - Keep _count() for data structures that don't store length (hint this isn't a simple getter). See P611 to apply instead of manually resolving conflicts.
2018-02-15Fix T54072: Crash splitting edgesCampbell Barton
2018-02-08Disable fast adjust code. Add other end spec matching.Howard Trickey
This fixes a few caess where new width adjustment code was less than ideal.
2018-02-08Mesh: concave quad supportCampbell Barton
Previously quads always split along first-third vertices. This is still the default, to avoid flickering with animated deformation however concave quads that would create two opposing triangles now use second-fourth split. Reported as T53999 although this issue has been known limitation for a long time.
2018-02-05Fix bevel profile=1 problems, see T39132, T38458, T40278, T51010,Howard Trickey
T53783. Before, profile=1 ("square outside") only worked well in a few cases (some "pipes", cube corners). This makes it work well pretty much everywhere.
2018-02-01Cleanup: rename BLI_*_empty() -> clear()Campbell Barton
Consistent with other BLI API's
2018-01-29Fix nan problem in previous bevel commit.Howard Trickey
For chains, access to g_prod[0] was undefined. And two minor style (whitespace) changes.
2018-01-29Fix T53459, inconsistent bevel on identical edges.Howard Trickey
The old algorithm depended on vertex order. The new one uses a global least squares solution on chains and cycles of edges where loop slide induces a dependency. See https://wiki.blender.org/index.php/Dev:Source/Modeling/Bevel in the "Consistent Widths for Even Bevels" for derivation of the new algorithm.
2018-01-28Cleanup: style, spellingCampbell Barton
2018-01-19Cleanup: typosCampbell Barton
2018-01-18Fix T53811: "bmesh.ops.split" crashCampbell Barton
2018-01-16Cleanup: indentationCampbell Barton
2018-01-10Task scheduler: Use const qualifier in callbacks for parallel rangeSergey Sharybin
2018-01-10Task scheduler: Use restrict pointer qualifierSergey Sharybin
Those pointers are never to be aliased, so let's be explicit about this and hope compiler does save some CPU ticks.
2018-01-10Cleanup: comment block alignmentCampbell Barton
2018-01-09Task scheduler: Use single parallel range function with more flexible functionSergey Sharybin
Now all the fine-tuning is happening using parallel range settings structure, which avoid passing long lists of arguments, allows extend fine-tuning further, avoid having lots of various functions which basically does the same thing.
2018-01-09Task scheduler: Get rid of extended version of parallel range callbackSergey Sharybin
Wrap all arguments into TLS type of argument. Avoids some branching and also makes it easier to extend things in the future.
2017-12-18Fix T53474, bevel glitchy with big objects.Howard Trickey
A comparison should have not just have been against an epsilon, but relative to the edge length involved. Thanks to mano-wii for patch on which this is based.
2017-12-04Better bevel profile at extreme values of profile.Howard Trickey
Patch from Richard Erhardt, with some additions & modifications. Changes bevel profile shape parameter so that can get arbitrarily near square profile as parameter -> 1. Adds code to make profile=0 case work, at least for cube corners, so changed hard min of profile parameter to 0 from 0.15.
2017-12-04Cleanup: styleCampbell Barton
2017-11-26Removing OMP: bmesh_operators.cBastien Montagne
Two more 'not really useful' cases (OMP only shows some noticeable speedup with above 1M elements, and since this is quick operation anyway compared to even ather basic operators, gain is in the 1% area of total processing time in best case). So not worth parallelizing here, we'll gain much more on tackling heavy operations. ;) And BMesh is free from OMP now!
2017-11-26Removing OMP: bmesh_interp.cBastien Montagne
Performances tests on this one are quite surprising actually... Parallelized loop itself is at least 10 times quicker with new BLI_task code than it was with OMP. And subdividing e.g. a heavy mesh with 3 levels of multires (whole process) takes 8 seconds with new code, while 10 seconds with OMP one. And cherry on top, BLI_task code only uses about 50% of CPU load, while OMP one was at nearly 100%! In fact, I suspect OMP code was not properly declaring outside vars, generating a lot of uneeded locks. Also, raised the minimum level of subdiv to enable parallelization, tests here showed that we only start to get significant gain with subdiv levels of 4, below single threaded one is quicker.