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
2017-03-12Cleanup: styleCampbell Barton
2017-03-11Cleanup: code style & cmakeCampbell Barton
2017-03-11Add support for Objects in Drive variable `Rotational Difference`Germano Cavalcante
Thus it is according to the Manual https://docs.blender.org/manual/en/dev/animation/drivers/drivers_panel.html#driver-variables
2017-03-10rBa81ea408367abe2f33b351ff6dcc6b09170fd088 "object" -> "target"Germano Cavalcante
2017-03-10fix T50899: Even though the Shrinkwrap options hide the possibility of using ↵Germano Cavalcante
a non-mesh target, you can still circumvent this... Causing Crash
2017-03-10Fix useless allocation of edge_vectors in threaded case of loop split ↵Bastien Montagne
generation.
2017-03-07Task scheduler: Remove per-pool threads limitSergey Sharybin
This feature was adding extra complexity to task scheduling which required yet extra variables to be worried about to be modified in atomic manner, which resulted in following issues: - More complex code to maintain, which increases risks of something going wrong when we modify the code. - Extra barriers and/or locks during task scheduling, which causes extra threading overhead. - Unable to use some other implementation (such as TBB) even for the comparison tests. Notes about other changes. There are two places where we really had to use that limit. One of them is the single threaded dependency graph. This will now construct a single-threaded scheduler at evaluation time. This shouldn't be a problem because it only happens when using debugging command line arguments and the code simply don't run in regular Blender operation. The code seems a bit duplicated here across old and new depsgraph, but think it's OK since the old depsgraph is already gone in 2.8 branch and i don't see where else we might want to use such a single-threaded scheduler. When/if we'll want to do so, we can move it to a centralized single-threaded scheduler in threads.c. OpenGL render was a bit more tricky to port, but basically we are using conditional variables to wait background thread to do all the job.
2017-03-03Fix T49655: Reloading library breaks proxies.Bastien Montagne
Can't say enough how much I hate those proxies... their duality (sharing some aspects of both direct *and* indirect users) is a nightmare to handle. :(
2017-03-02Fix own stupid mistake in recent mesh 'split_faces' rework.Bastien Montagne
Was assigning new edge index to ml_prev->e, and then assigning ml_pre->e to orig_index...
2017-03-01Task scheduler: Remove query for the pool's number of threadsSergey Sharybin
Not really happy of per-pool threads limit, need to find better approach to that. But at least it's possible to get rid of half of the nastyness here by removing getter which was only used in an assert statement. That piece of code was already well-tested and this code becomes obsolete in the new depsgraph and does no longer exists in blender 2.8 branch.
2017-03-01Cleanup: code-style, duplicate headerCampbell Barton
2017-02-27Similar to previous commit, but for object constraintsSergey Sharybin
2017-02-27Depsgraph: Shrinkwrap constraint actually depends on geometrySergey Sharybin
2017-02-24Add "Gravitation" option to "Force" type force fieldsLuca Rood
This adds an option to force fields of type "Force", which enables the simulation of gravitational behavior (dist^-2 falloff). Patch by @AndreasE Reviewers: #physics, LucaRood, mont29 Reviewed By: #physics, LucaRood, mont29 Tags: #physics Differential Revision: https://developer.blender.org/D2389
2017-02-22Fix T50745: Shape key editing on bezier objects broken with Rendered ↵Bastien Montagne
Viewport Shading So... Curve+shapekey was even more broken than it looked, this report was actually a nice crasher (immediate crash in an ASAN build when trying to edit a curve shapekey with some viewport rendering enabled). There were actually two different issues here. I) The less critical: rB6f1493f68fe was not fully fixing issues from T50614. More specifically, if you updated obdata from editnurb *without* freeing editnurb afterwards, you had a 'restored' (to original curve) editnurb, without the edited shapekey modifications anymore. This was fixed by tweaking again `calc_shapeKeys()` behavior in `ED_curve_editnurb_load()`. II) The crasher: in `ED_curve_editnurb_make()`, the call to `init_editNurb_keyIndex()` was directly storing pointers of obdata nurbs. Since those get freed every time `ED_curve_editnurb_load()` is executed, it easily ended up being pointers to freed memory. This was fixed by copying those data, which implied more complex handling code for editnurbs->keyindex, and some reshuffling of a few functions to avoid duplicating things between editor's editcurve.c and BKE's curve.c Note that the separation of functions between editors and BKE area for curve could use a serious update, it's currently messy to say the least. Then again, that area is due to rework since a long time now... :/ Finally, aligned 'for_render' curve evaluation to mesh one - now editing a shapekey will show in rendered viewports, if it does have some weight (exactly as with shapekeys of meshes).
2017-02-22Cycles: Fix shading with autosmooth and custom normalsSergey Sharybin
New logic of split_faces was leaving mesh in a proper state from Blender's point of view, but Cycles wanted loop normals to be "flushed" to vertex normals. Now we do such a flush from Cycles side again, so we don't leave bad meshes behind. Thanks Bastien for assistance here!
2017-02-22Refactor Mesh split_faces() code to use loop normal spaces.Bastien Montagne
Finding which loop should share its vertex with which others is not easy with regular Mesh data (mostly due to lack of advanced topology info, as opposed with BMesh case). Custom loop normals computing already does that - and can return 'loop normal spaces', which among other things contain definitions of 'smooth fans' of loops around vertices. Using those makes it easy to find vertices (and then edges) that needs splitting. This commit also adds support of non-autosmooth meshes, where we want to split out flat faces from smooth ones.
2017-02-20Fix T50718: Regression: Split Normals Render Problem with CyclesSergey Sharybin
The issue seems to be caused by vertex normal being re-calculated to something else than loop normal, which also caused wrong loop normals after re-calculation. For now issue is solved by preserving CD_NORMAL for loops after split_faces() is finished, so render engine can access original proper value.
2017-02-20Mesh faces split: Add missing vertex normal copySergey Sharybin
2017-02-17Remove unused functions related to distance between BoundBox and rayGermano Cavalcante
2017-02-17Forgotten in last commit: Check the allocationGermano 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-16Faces split: Don't leave CD_NORMAL after splitSergey Sharybin
This is supposed to be a temporary layer. If someone needs loop normals after split it should explicitly ask for that.
2017-02-16CDDM Copy: Only tag data layers dirty if we ignored tessellation dataSergey Sharybin
This solves assert failure in CustomData_from_bmeshpoly() happening with broom.blend file from barber shop SVN.
2017-02-16Fix more corner cases failing in mesh faces splitSergey Sharybin
Now we handle properly case with edge-fan meshes, which should fix bad topology calculated for cash register which was causing crashes in the studio.
2017-02-15Fix wrong edges created by split facesSergey Sharybin
We need to first split all vertices before we can reliably check whether edge can be reused or not. There is still known issue happening with a edge-fan mesh with some faces being on the same plane.
2017-02-15Fix T50662: Auto-split affects on smooth mesh when it sohuldn'tSergey Sharybin
Seems to be a precision error comparing proper floating point normal with the one coming from short.
2017-02-15Fix wrong loop normals left after face splittingSergey Sharybin
Let's keep all data in a consistent state, so we don't have any issues later on. This solves rendering artifacts mentioned in the previous commit.
2017-02-15Mesh: Re-implement face split solving issue mentioned earlierSergey Sharybin
Now new edges will be properly created between original and new split vertices. Now topology is correct, but shading is still not quite in some special cases.
2017-02-15Revert "Mesh: Solve incorrect result of mesh.split_faces()"Sergey Sharybin
The change was delivering broken topology for certain cases. The assumption that new edge only connects new vertices was wrong. Reverting to a commit which was giving correct render results but was using more memory. This reverts commit af1e48e8ab7a25269ba5a44158bd16c564ed3535.
2017-02-15Comments: notes on polyfill2d, minor correctionsCampbell Barton
2017-02-14Mesh: Solve incorrect result of mesh.split_faces()Sergey Sharybin
This function was keeping original edges and was creating some extra vertices which is not something we are really looking forward to,
2017-02-14Mesh: Cleanup, use shorter version of loopSergey Sharybin
2017-02-14Mesh: Use faster calculation of previous loopSergey Sharybin
2017-02-14`BKE_boundbox_ensure_minimum_dimensions` is no longer necessaryGermano Cavalcante
The bug T46099 no longer applies since the addition of `dist_squared_to_projected_aabb_simple` Has also been added comments that relates to an occlusion bug with the ruler. I'll investigate this.
2017-02-12Image: Fix non-deterministic behavior of image sequence loadingSergey Sharybin
The issue was caused by usage of non-initialized image user, which could have different settings, causing some random image being loaded or not loaded at all. This caused non-deterministic behavior of Cycles image loading because it was querying image information from several places. This fixes crash reported in T50616, but it's not a complete fix because preview rendering in material is wrong (same wrong as in 2.78a release).
2017-02-08Alembic: #undef'ed the correct macroSybren A. Stüvel
TEST_RET is not defined anywhere in Blender's sources, and LAYER_CMP is no longer used after this function ends.
2017-02-07Sequencer: Some extra speedup in color space conversionSergey Sharybin
Use the new utility from coloranagement which multi-threads byte to float conversion. Gives extra 10% speedup from quick tests.
2017-02-07Sequencer: Speedup conversion to sequencer spaceSergey Sharybin
Speedup is mainly gained by multi-threading. Gives about 3x fps gain on an edit shot file. There is still some room for improvements, will happen in one of the upcoming commits.
2017-02-07Param `is_cached` not being used in` bvhtree_from_mesh_edges_setup_data`Germano Cavalcante
This could cause bugs in the memory release
2017-02-07Fix missing hair after rendering with different viewport/render settingsSergey Sharybin
Derived mesh for particles did not include tessellated faces when it was expected to. Now added explicit function to copy CDDM with tess faces without need to re-tessellate the result.
2017-02-06Specify the correct size of the BVHTree of edgesGermano Cavalcante
~edge_num~ edges_num_active Not always all the edges enter in the build
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)
2017-02-06Fix 'public' global 'g_atexit' var in Blender.Bastien Montagne
No reason to not make this private to this file, and it gave conflict when using bpy as module and loading it in a GLib application (which also has a g_atexit var).
2017-02-06Fix compilation error after recent changeSergey Sharybin
2017-02-06Use hash instead of linear lookup in armature deformSergey Sharybin
This avoids calling linear lookup 100s of time when dealing with real-life character. Still some tweaks possible.
2017-02-06Add special texture sampling function which takes image pool argumentSergey Sharybin
Using image pool will reduce number of thread locks when acquiring image. Useful when it's needed to sample texture fewzillion times a second.
2017-02-06Fix memory leak when building without audaspaceSergey Sharybin
2017-02-05Cleaning of the last commit: lack of attention with the debug of time X(Germano Cavalcante
This was a stupid mistake
2017-02-05Optimize BVHTree creation of vertices that have BLI_bitmap testGermano Cavalcante
Instead of reference the vertex first and test the bitmap afterwards. Test the bitmap first and reference the vertex after. In a mesh with 31146 vertices and the entire bitmap disabled, the loop time is 243% faster With all bitmap enabled, the time becomes 463473% faster!!! One possible reason for this huge difference in peformance is that maybe the compiler is not putting the function "BM_vert_at_index" inline (I dont know if buildbot do this, but it's good to investigate).