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-20User Preferences: Split out addon and keymap freeCampbell Barton
2017-03-18Alternate fix for T50899Campbell Barton
object_get_derived_final shouldn't have been assuming mesh objects. It's even valid to use a curve as a target for a shrink-wrap modifier.
2017-03-16Add BKE_blendfile_userdef_read_from_memoryCampbell Barton
Needed to read user-preferences from in-memory startup.blend Also skip data-blocks when reading preferences.
2017-03-16Add support for loading preference structCampbell Barton
Previously it would always load into 'U' global. Needed for loading & merging template preferences.
2017-03-16Support passing in UserDef for free functionCampbell Barton
Needed so we can load and free non-global user preferences.
2017-03-16Fix BGE building.Bastien Montagne
When you use typedef'ed enum, you need to define all supported values explicitely in enum, else compiler goes grumpy...
2017-03-15Load user-preferences before startup fileCampbell Barton
Internal change needed for template support. Loading the user preferences first so it's possible for preferences to control startup behavior. In general it's useful to load preferences before data-files, so we know security settings for eg.
2017-03-15Fix bug on Blender version stringDalai Felinto
Reported by Pablo Vazquez (venomgfx) over irc.
2017-03-15Move Blender version string handling to its own functionDalai Felinto
Planning to use this util function in 2.8 for doversioning (to communicate converted layers)
2017-03-15Fix T50938: Cache not being reset when changing simulation settings with new ↵Sergey Sharybin
depsgraph The thing i'm really starting to hate is the requirement to specify both operation code and node type. Seems to be duplicated enums without real need for that.
2017-03-14CLNor: rework threaded computation.Bastien Montagne
Was using some threaded queue on top of task pool, tssk... Now using properly task pool directly to crunch chunks of smooth fans. No noticable changes in speed. Tried to completely get rid of the 'no threading with few loops' code, but even just creating/freeing the task pool, without actually pushing any task, is enough to make code 50% slower in worst case scenario (i.e. few thousands of simple cube objects).
2017-03-14CLNor code: use averaged debug timing.Bastien Montagne
2017-03-14Fix T50876: Cycles Crash - Cycles crashes before sampling when certain ↵Bastien Montagne
meshes have autosmooth enabled. The root of the issue was in custom normal code, so far it assumed that we could only have one cyclic smooth fan around each vertex, which is... blatantly wrong (again, the two cones sharing same vertex tip e.g.). This required a rather deep change in how smooth fans/clnor spaces are processed, took me some time to find a 'good' solution. Note that new code is slightly slower than previous one (maybe about 5%), not much to be done here, am afraid. Tested against all older report files I could find, seems OK.
2017-03-14Fix own mistake in recent 'edge split' refactor.Bastien Montagne
We do can have some vertices to split, while not having any edge (think about two cones sharing the same tip vertex e.g.).
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).