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-05-13BKE_bvhutils: allow caching NULL bvh_trees.Germano
This prevents zero-leafs bvhtrees from being recalculated multiple times.
2018-05-12Remove unused function: `BKE_bvhtree_from_mesh_looptri`.Germano
2018-05-10BKE: bvhutils: Added support for bvhtrees from loose verts and bvhtree from ↵Germano
loose edges
2018-05-09BKE: bvhutils: Port bvhtree_from_mesh_get to take a Mesh param instead of a ↵Germano
DerivedMesh. Differential Revision: https://developer.blender.org/D3227
2018-05-08looptri + bvhtree support for MeshSybren A. Stüvel
2018-05-04BKE: bvhuils: remove member `sphere_radius`.Germano
This member currently doubles the value of `ray->radius` or is not even used.
2018-05-04BKE: BVHtree: Replace all external references of `bvhtree_from_mesh_looptri` ↵Germano
with `bvhtree_from_mesh_get`.
2018-05-04BKE: BVHtree: make `bvhtree_from_mesh_edges` a static function.Germano
This will help us have more control over bvhtrees that are cached.
2018-05-03BKE bvhtree: Add `tree_type` parameter to `bvhtree_from_mesh_get`.Germano
This will allow greater control of the bvhtrees that are obtained, and helps identify problems. It is also an additional step to unify the functions.
2018-05-01Refactoring: bvhutils: Use a function that gets the bvhtree through an ↵Germano
identifier type. Reviewed By: @campbellbarton Differential Revision: https://developer.blender.org/D3192
2018-01-28Cleanup: style, spellingCampbell Barton
2017-02-17Remove unused functions related to distance between BoundBox and rayGermano Cavalcante
2017-02-17Do not release the arrays used in the parameters of the expanded functions ↵Germano Cavalcante
of bvhutils The release of these arrays should be the programmer's discretion since these arrays can continue to be used. Only the expanded functions `bvhtree_from_mesh_edges_ex` and `bvhtree_from_mesh_looptri_ex` are currently being used in blender (in mesh_remap.c), and from what I could to analyze, these changes can prevent a crash.
2017-02-06Standardization and style for BKE_bvhutilsGermano Cavalcante
Add `bvhtree_from_mesh_edges_ex` and callbacks to nearest_to_ray (Similar to the other functions of this code)
2016-07-02Cleanup: comment blocksCampbell Barton
2016-06-30Transform Snap: Optimize edge-snap using BVH treeGermano Cavalcante
changes in BLI_kdopbvh: - `BLI_bvhtree_find_nearest_to_ray` now takes is_ray_normalized and scale argument. - `BLI_bvhtree_find_nearest_to_ray_angle` has been added (use for perspective view). changes in BLI_bvhutils: - `bvhtree_from_editmesh_edges_ex` was added. changes in math_geom: - `dist_squared_ray_to_seg_v3` was added. other changes: - `do_ray_start_correction` is no longer necessary to snap to verts. - the way in which the test of depth was done before is being simulated in callbacks.
2016-06-29Fix T48695: Slowdown w/ edit-mesh & shrinkwrapGermano Cavalcante
0b5a0d84 caused regression since edit-mesh BVH wasn't cached, each shrink-wrap modifier created its own BVH.
2016-05-11Correct check for tree being in BVH cacheCampbell Barton
2016-05-11Remove pointer typedef from BVHCacheCampbell Barton
Used ** arguments unnecessarily, also replace BLI_linklist_apply with while loop.
2016-05-05Transform/Snap: EditMesh/BKE_bvhutils API improvementsGermano Cavalcante
Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh. This was meant to simplify the API, but didn't work out so well. `bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`. This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh. In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once bvhtree is being used in functions that change(tag) the DM cleaning the cache. - Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled. - Remove em_evil. - bvhtree of EditMesh is now really cached in the snap functions. - Code becomes organized and easier to maintain. This is an important patch for future improvements in snapping functions.
2016-01-25Transform: optimize vertex snap w/ nearest-to-rayGermano Cavalcante
Use BLI_bvhtree_find_nearest_to_ray for vertex snapping, avoids doing screen-space lookup on each vertex.
2015-10-06Fix T46389: Shrinkwrap fails in editmodeCampbell Barton
Own regression caused by fix for T46067, edit-mode bvh only contained unselected faces. This commit adds support for an edit-mode bvh containing all faces.
2015-07-29Expose bvhtree_sphereray_tri_intersection for general useCampbell Barton
2015-07-23Cleanup; duplicate headerCampbell Barton
2015-07-23Cleanup: arg namesCampbell Barton
2015-07-22Add bvhtree_from_mesh_looptri utility functionCampbell Barton
2015-07-22Use doxy sections in bvhutilsCampbell Barton
2015-07-22Use const for BVH mesh arraysCampbell Barton
2015-01-09BKE bvhutils: cleanup and refactor to make it more flexible.Bastien Montagne
You can now use lower-level '_ex' versions of bvh creators to only use part of the mesh's elements in the BVH, and/or create bvh from non-DM sources. Needed for transfer data. Note edges extend version of bvh creator is not added here, not needed so far.
2014-02-02Code cleanup: suffix vars to make obvious they are squaredCampbell Barton
2014-01-13Make bvhutil safe for multi-threaded usageSergey Sharybin
There were couple of reasons why it wasn't safe for usage from multiple threads. First of all, it was trying to cache BVH in derived mesh, which wasn't safe because multiple threads might have requested BVH tree and simultaneous reading and writing to the cache became a big headache. Solved this with RW lock so now access to BVH cache is safe. Another issue is causes by the fact that it's not guaranteed DM to have vert/edge/face arrays pre-allocated and when one was calling functions like getVertDataArray() array could have been allocated and marked as temporary. This is REALLY bad, because NO ONE is ever allowed to modify data which doesn't belong to him. This lead to situations when multiple threads were using BVH tree and they run into race condition with this temporary allocated arrays. Now bvhtree owns allocated arrays and keeps track of them, so no race condition happens with temporary data stored in the derived mesh. This solved threading issues and likely wouldn't introduce noticeable slowdown. Even when DM was keeping track of this arrays, they were re-allocated on every BVH creation anyway, because those arrays were temporary and were freed with dm->release() call. We might re-consider this a bit and make it so BVH trees are allocated when DM itself is being allocated based on the DAG layout, but that i'd consider an optimization and not something we need to do 1st priority. Fixes crash happening with 05_4g_track.blend from Mango after the threaded object update landed to master.
2013-11-19Fix T37445: Crash with snapping and shrink-wrap modifier.Campbell Barton
Developer note: BVHTREE_FROM_FACES was being used for both edit-mesh and derived-mesh bvh-trees, this could cause index lookup errors in editmode. Fix by adding a new type for editmesh so theres no confusion.
2013-05-08code cleanup: remove unused 'dm' arg from BVHTreeFromMesh.Campbell Barton
2012-05-13code cleanup: header cleanup and remove some duplicate defines.Campbell Barton
2012-03-04style cleanup / comment formatting for bli/bke/bmeshCampbell Barton
2012-03-01Spelling CleanupCampbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-11-07Merge with trunk r41625Miika Hamalainen
2011-10-28Merge with trunk r41342Miika Hamalainen
2011-10-28Dynamic Paint:Miika Hamalainen
* More code changes pointed by Brecht in codereview. * Some user interface improvements. * Updating brush settings now also updates canvas preview.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-22Merge with trunk r41197Miika Hamalainen
2011-10-22header cleanup and typo'sCampbell Barton
2011-05-24Applied Dynamic Paint 1.18f patch as a codebase for GSoC.Miika Hamalainen
2011-02-18doxygen: blenkernel under core as module.Nathan Letwory
2010-11-22bugfix [#20768] Project Snap BrokenCampbell Barton
2010-02-12correct fsf addressCampbell Barton
2009-10-05General particle bug fixes + few small goodiesJanne Karhu
The goodies: * Curves can be used as normal dynamic effectors too with the new "curve" field shape. * Group visualization has optional duplication counts for each object in the specified group. * Object & group visualizations, which are done without taking the dupliobject's global position into account (unless the whole group is used). This is much nicer than the previous behavior, but I added a "Use Global Location" option for those who want to use it the old way. * The active particle system's particles are now drawn a with theme coloured outline instead of pure white. * Added object aligned velocity factors (buttons categorized and re-organized too). Bug fixes: * Absorption didn't work as the ui toggle button was forgotten. * Some other force field ui tweaks. * Crash after adding children and changing trails count. * Display types "cross" and "axis" crashed. * Particles weren't drawn with correct coloring. * Billboards didn't update properly in viewport to camera location changes. * Particle rotation wasn't recreated correctly from point cache. * Changing particles amount crashed sometimes. * Some files with child hair crashed on loading. * Compiler warning fixes. * Adding boids crashed on frame 1;
2009-04-15Merging Shrinkwrap Constraint!Andre Susano Pinto
+bvhtree cache (if the derived model doenst gets destroyed then the same BVHtree can be used) this was needed to allow shrinkwrap constraint to be usable. It has been ready for a long time.. but only got merged now, for 2.49.
2008-08-07BVH-KDOP update (merge from shrinkwrap branch): supports raytracing, nearest ↵Daniel Genrich
neighbour, non-recursive now, faster than kdtree.c implementation normaly, divided into 2 sources: generla structure in blenlib, mesh/derivedmesh depending interface stuff in blenkernel