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-06-17Cleanup: trailing space for BLICampbell Barton
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-04-24BLI BVHTree Walk DFS: Decreases the size of the stack space used for the ↵Germano
recursive function. Each parameter of the function is copied into the memory stack. This also brought an improvement in peformance of snapping functions between 5% and 12% in my tests.
2018-03-18Cleanup: kdopbvh, only set parent nodes onceCampbell Barton
2018-03-13Cleanup: doxygen commentsCampbell Barton
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-01-21Cleanup: BLI_kdopbvh avoid negative array accessCampbell Barton
It's harder to reason about array access with negative indices.
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-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-10-28Cleanup: use uint type in BLICampbell Barton
2017-06-11BLI_kdopbvh: add ifdef's for debugging infoCampbell Barton
Allow to quickly enable print & tree verify.
2017-05-06Cleanup: use index syntax instead of additionCampbell Barton
Harmless but made accessing the first element read strangely.
2017-05-06Cleanup: use const pointers where possibleCampbell Barton
2017-05-06Cleanup: unused return, redundant assignmentsCampbell Barton
2017-05-06Cleanup: line length, use const struct membersCampbell Barton
2017-02-17Remove unused functions related to distance between BoundBox and rayGermano Cavalcante
2016-07-19Cleanup: style, spellingCampbell Barton
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-05-11Cleanup: only use r_ prefix for return argsCampbell Barton
2016-05-11BLI_kdopbvh: Use distance for BLI_bvhtree_ray_cast_allCampbell Barton
Pass distance argument so its possible to limit the range we get all hits from. Other changes: - Use boundbox test before calling callback, avoids redundant calls. - Remove meaningless return value. - Add doc string, explaining purpose of this function.
2016-05-05Cleanup: rename getepsilon -> get_epsilonCampbell Barton
2016-05-05Add asserts to check bvhutils args are correctCampbell Barton
Would have prevented previous error going unnoticed.
2016-03-19BLI_kdopbvh: Pass center to to range callbackCampbell Barton
Useful when BLI_bvhtree_range_query callback calculates a new position to measure from.
2016-02-12Fix error in bvhtree_walk_dfs_recursiveGermano Cavalcante
2016-02-11BLI_kdopbvh: test root node before traversingGermano Cavalcante
2016-02-10Cleanup: remove unused radius argumentCampbell Barton
2016-02-10Docs: use doxygen sectionsCampbell Barton
2016-02-09Add BLI_bvhtree_walk_dfs utility functionGermano Cavalcante
This generic function allows callers to walk the tree using callbacks to define behavior.
2016-02-09BLI_kdopbvh: expose bvhtree_kdop_axes arrayCampbell Barton
So future callbacks can make use of the axis index.
2016-02-09Docs: correct descriptionCampbell Barton
2016-01-25Correct own error in recent BVH nearest rayCampbell Barton
2016-01-25BLI_kdopbvh: Add BLI_bvhtree_find_nearest_to_rayGermano Cavalcante
Support for casting a ray through all nodes to find the closest (not the first hit as with ray casting).
2016-01-16Cleanup: BLI_task - API changes.Bastien Montagne
Based on usages so far: - Split callback worker func in two, 'basic' and 'extended' versions. The former goes back to the simplest verion, while the later keeps the 'userdata_chunk', and gets the thread_id too. - Add use_threading to simple BLI_task_parallel_range(), turns out we need this pretty much systematically, and allows to get rid of most usages of BLI_task_parallel_range_ex(). - Now BLI_task_parallel_range() expects 'basic' version of callback, while BLI_task_parallel_range_ex() expectes 'extended' version of the callback. All in all, this should make common usage of BLI_task_parallel_range simpler (less verbose), and add access to advanced callback to thread id, which is mandatory in some (future) cases.
2016-01-12Fix T47164: [Scene.raycast] - True result when it should be False.Bastien Montagne
We cannot use FLT_MAX as initi distance for raycast... Renamed TRANSFORM_DIST_MAX_RAY to BVH_RAYCAST_DIST_MAX, moved it into BLI_kdopbvh, and use in RNA raycast callbacks (and all other places using that API).
2015-12-31Cleanup: warningCampbell Barton
2015-12-30BLI_task: change BLI_task_parallel_range_ex() to just take a bool whether to ↵Bastien Montagne
use threading or not, instead of threshold. From recent experience, turns out we often do want to use something else than basic range of parallelized forloop as control parameter over threads usage, so now BLI func only takes a boolean, and caller defines best check for its own case.
2015-12-29Building w/o OpenMP now works againCampbell Barton
rename define since its no longer OpenMP specific.
2015-12-28BLI_kdopbvh: switch from OMP to BLI_task.Bastien Montagne
Gives the usual 10%-30% speedup on affected functions themselves (BLI_bvhtree_overlap() and BLI_bvhtree_balance()), and about 2% speedup to overall cloth sim e.g. (measured from main Cloth modifier func).
2015-10-26Cleanup: warning & whitespaceCampbell Barton
2015-08-21BVH-raycast: Use watertight intersectionsCampbell Barton
By default watertight intersections are used, For callbacks where its not needed, BLI_bvhtree_ray_cast_ex can be called without the BVH_RAYCAST_WATERTIGHT flag. Fixes T45286
2015-08-21BVH-raycast: ensure input direction is unit-lengthCampbell Barton
This was already the case for most users of ray-cast. Doing this avoids 2x normalize calls per ray-cast in many places.
2015-08-20Resolve MSVC/OpenMP compat issueCampbell Barton
2015-08-20BVH-overlap: add callback to BLI_bvhtree_overlapCampbell Barton
The callback checks if 2 nodes intersect (not just their AABB). Advantages: - theres no need to allocate overlaps which are later ignored. - expensive intersection tests will run multi-threaded. Currently only used for Python API.
2015-08-20BVH-overlap: use stack for overlap data arrayCampbell Barton
This is known to be <32, so no need to malloc every item.
2015-08-20Cleanup: de-duplicate ray-cast initializationCampbell Barton
2015-08-04Docs: comment functions in BLI & Py APICampbell Barton
2015-01-20New hair editing feature "Shape Cut", for cutting hair based on a meshLukas Tönne
shape instead of a brush tool. The brush cutting tool for hair, while useful, is not very accurate and often requires rotating the model constantly to get the right trimming on every side. This makes adjustments to a hair shape a very tedious process. On the other hand, making proxy meshes for hair shapes is a common workflow. The new operator allows using such rough meshes as boundaries for hair. All hairs that are outside the shape mesh are removed, while those cutting it at some length are shortened accordingly. The operator can be accessed in the particle edit mode toolbar via the "Shape Cut" button. The "Shape Object" must be set first and stays selected as a tool setting for repeatedly applying the shape.
2014-12-01Cleanup: hopefully last int->bool one in this area!Bastien Montagne