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
path: root/source
AgeCommit message (Collapse)Author
2017-08-20Implement a new automatic handle algorithm to produce smooth F-Curves.Alexander Gavrilov
The legacy algorithm only considers two adjacent points when computing the bezier handles, which cannot produce satisfactory results. Animators are often forced to manually adjust all curves. The new approach instead solves a system of equations to trace a cubic spline with continuous second derivative through the whole segment of auto points, delimited at ends by keyframes with handles set by other requirements. This algorithm also adjusts Vector handles that face ordinary bezier keyframes to achieve zero acceleration at the Vector keyframe, instead of simply pointing it at the adjacent point. Original idea and implementation by Benoit Bolsee <benoit.bolsee@online.be>; code mostly rewritten to improve code clarity and extensibility.
2017-08-20Make auto handle placement aware of cyclic extrapolation.Alexander Gavrilov
Cyclic extrapolation is implemented as an f-curve modifier, so this technically violates abstraction separation and is something of a hack. However without such behavior achieving smooth looping with cyclic extrapolation is extremely cumbersome. The new behavior is applied when the first modifier is Cyclic extrapolation in Repeat or Repeat with Offset mode without using influence, repeat count or range restrictions. This change in behavior means that curve handles have to be updated when the modifier is added, removed or its options change. Due to the way code is structured, it seems it requires a helper link to the containing curve from the modifier object. Reviewers: aligorith Differential Revision: https://developer.blender.org/D2783
2017-08-20Replace BLI_INLINE w/ Py_LOCAL_INLINE for PythonCampbell Barton
Recent inclusion caused build error with the BGE.
2017-08-20Fix bpy library load: invalid function signatureCampbell Barton
2017-08-20PyAPI: Make use of PyC_LongAs... APICampbell Barton
Avoids setting exceptions inline, also use Matrix_ParseAny for bmesh.ops. Some inline exceptions are kept because they show useful details.
2017-08-20PyAPI: Integer conversion functionsCampbell Barton
Python's C-API doesn't provide functions to get int's at specific integer sizes. Leaving the caller to check for overflow, which ended up being ignored in practice. Add API functions that convert int/uint 8/16/32/64, also bool. Raising overflow exception for unsupported ranges.
2017-08-20PyAPI: avoid redundant PyLong_AsLong callCampbell Barton
Assigning to an RNA array converted from Python to C twice.
2017-08-19PyAPI: expose matrix parsing functionCampbell Barton
2017-08-18PyAPI: Fix memory leak w/ empty, allocated enumsCampbell Barton
2017-08-17Fix leak in Python BGE filter & image typesCampbell Barton
2017-08-17Remove unnecessary #include "ED_transform.h"mano-wii
2017-08-17Transform: remove unused functionmano-wii
2017-08-16Transform: Move enum `SnapSelect` to `ED_transform_snap_object_context`mano-wii
2017-08-16Fix T52414: Blender 2.79 crash on object duplication via menu.Bastien Montagne
Caused by own recent changes in handling of verts/edges/etc. arrays storage for raycasting (rBe324172d9ca6690e8). Issue was actually even weirder - there is absolutely no reason at all to release DM here, those finaldm are stored in Object or EditMesh structs and handled by general update system, other code shall never try to release them!
2017-08-15macOS build: simplify python install for new 10.9 libraries.Brecht Van Lommel
We stop using the .zip file and just have all files now in lib/darwin/python/lib, along with numpy, numpy headers and requests. This makes it consistent with Linux and simplifies code. For old libraries the .zip stays, code for that gets removed when we fully switch to new libraries.
2017-08-15Alembic import: report object name in face color index out of bounds errorSybren A. Stüvel
2017-08-15Alembic import: fix crash when face color index is out of bounds.Sybren A. Stüvel
This can happen with Alembic files exported from Maya. I'm unsure as to the root cause, but at least this fixes the crash itself. Thanks to @looch for reporting this with a test file. The test file has to remain confidential, though, so it's on my workstation only.
2017-08-15Cycles/BI: Add a pixel size option for speeding up viewport renderingLukas Stockner
This patch adds "Pixel Size" to the performance options, which allows to render in a smaller resolution, which is especially useful for displays with high DPI. Reviewers: Severin, dingto, sergey, brecht Reviewed By: brecht Subscribers: Severin, venomgfx, eyecandy, brecht Differential Revision: https://developer.blender.org/D1619
2017-08-14Fix T52331: Motion blur shutter length not keyableSergey Sharybin
The only reason shutter time was marked as non-animatable is because Blender Internal render does not support such animation. But this is something what users are keeping asking for and now Blender Internal is on it's way out. Enabled animation of this property, but noted in tooltip that Blender Internal does not support animation of this property.
2017-08-14Fix T52391: Crash on duplicating material.Bastien Montagne
Bug in new ID copying code, thanks once again to stupid nodetrees, we ended up wrongly remapping MA node->id pointers to NodeTree when copying materials using node trees...
2017-08-14Cleanup: confusing naming in BKE_node_tree_copy_data().Bastien Montagne
2017-08-14New ID Copying code: fix node_tree_copy_data still potentially increasing ↵Bastien Montagne
usercount of its gpencil pointer. _copy_data() functions of datablocks shall never handle that, it's done by generic calling code in library.c.
2017-08-14Fix T51850: Motion tracking - poor performance with keyframe matching on ↵Sergey Sharybin
large video Enabled cache for frame accessor and tweaked policy so we guarantee keyframed images to be always in the cache. The logic might fail in some real corner case (for example, when doing multiple tracks at once on a system where we can not fit 2 clip frames in cache) but things are much better now for regular use.
2017-08-14Tracking: Make frame accessor cache safe for threadingSergey Sharybin
2017-08-14Tracking: Cleanup, newlines and commentsSergey Sharybin
2017-08-14Tracking: Cleanup, de-duplicate codeSergey Sharybin
2017-08-14Trackign: Add some basic logging about caching in frame accessorSergey Sharybin
2017-08-14Tracking: Make frame access cache aware of regionSergey Sharybin
Cache is still kept disabled, need to think of a policy for cache cleanup.
2017-08-14Tracking: Correct comparison in cache keysSergey Sharybin
This code wasn't uses, but the key comparison was totally wrong.
2017-08-14Tracking: Cleanup and some commentsSergey Sharybin
2017-08-14Move back master to BCon1 (aka alpha) status.Bastien Montagne
Forgot to do that the other week, master is no more 2.79 RC!
2017-08-12WM: load UI for new file, even when pref disabledCampbell Barton
Loading startup file always loads the UI now.
2017-08-12Fix T52298: hidden lamps still compute shadow buffers in viewport.Brecht Van Lommel
2017-08-12Fix T52329: Boolean with aligned shapes failedCampbell Barton
Creating ngons with multiple axis aligned shapes in the middle of a single face would fail in some cases. This exposed multiple problems in BM_face_split_edgenet_connect_islands - Islands needed to be sorted on Y axis when X was aligned. - Checking edge intersections needed increased endpoint bias. - BVH epsilon needed to be increased.
2017-08-12Math Lib: add isect_seg_seg_v2_point_exCampbell Barton
This exposes end-point bias argument, needed in rare cases.
2017-08-12Fix width estimation for buttons with short labels in pie menusAleksandr Zinovev
Differential Revision: https://developer.blender.org/D2781 To be backported to 2.79 branch
2017-08-12Cleanup: whitespaceCampbell Barton
2017-08-11iFix T52050: Empty VSE preview for scene strips with OpenGL preview + ↵Bastien Montagne
Rendered settings. 'OpenGL Preview' checkbox was redundant now, just use seq_prev_type value only. Might be OK for 2.79, but should be double-checked first...
2017-08-11Fix T52149: LoopTriArray computation was not correctly protected against ↵Bastien Montagne
concurrency. Note: this commit seems to work as expected (also with transform snapping etc.). However, it is rather unsafe - not enough for 2.79 at least, unless we get much more testing on it. It also depends on three previous ones. Note that using a global lock here is far from ideal, we should rather have a lock per DM, but that will do for now, whole DM thing is doomed to oblivion anyway in 2.8. Also, we may need a `DM_DIRTY_LOOPTRIS` dirty flag at some point. Looks like we can survive without it for now though... Probably because cached looptris are never copied accross DM's?
2017-08-11Cleanup: remove useless `DM_ensure_looptri()`.Bastien Montagne
That one was doing exactly same thing as `dm->getLoopTriArray()`, no point in having twice the same code here...
2017-08-11Fix transform snap code using 'allocated' flags to get verts/edges/etc. ↵Bastien Montagne
arrays again from DM. This was... horribly wrong, CDDM will often *not* need to allocate anything to return arrays of mesh items! Just check whether array pointer is NULL. Also, remove `DM_get_looptri_array`, that one is useless currently, `dm->getLoopTriArray` will always return cached array (computing it if needed).
2017-08-11Cleanup: deduplicate DM's getLoopTriArray() callback.Bastien Montagne
All three functions were doing exactly the same thing, simpler to only have one in that case!
2017-08-11Fix T52346: Alt-I (Delete Keyframes) on a NlaStrip's Extrapolate property ↵Joshua Leung
would crash
2017-08-11Fix T52327: Entering/Exiting NLA Tweakmode disables Scene -> Only Keyframes ↵Joshua Leung
from Selected Channels The tweakmode flag and the selected-channels flag accidentally used the same value, due to confusion over where these flags were supposed to be set. The selected-channels flag has now been moved to use a different value, so that there shouldn't be any further conflicts. To be ported to 2.79.
2017-08-11Fix bevel clamping bugs T51247 and T50819.Howard Trickey
Old bevel 'Clamp overlap' code was very naive: just limit amount to half edge length. This uses more accurate (but not perfect) calculations for the max amount before (many) geometry collisions happen. This is not a backward compatible change - meshes that have modifiers with 'Clamp overlap' will likely have larger allowed bevel widths now. But that can be fixed by turning off clamp overlap and setting the amount to the desired value.
2017-08-11Object Apply Transform: option to apply propertiesCampbell Barton
In some cases users may want to disable this option to avoid changing other properties besides vertex locations.
2017-08-11Fix T52344: Softbody on Text.Bastien Montagne
Own previous fix (rBd5d626df236b) was not valid, curves are actually supported by SoftBodies. It was rather a mere UI bug, which was not including Surfaces and Font obect types in those valid for softbody UI. Thanks to @brecht for the head up! Also, fix safe for 2.79, btw.
2017-08-11Pie menu's sub-rows ignore 'EXPAND' flagAleksandr Zinovev
Regression, to be backported in 2.79.
2017-08-11RNA: Operators were excluded from struct mapCampbell Barton
Recent changes meant structs that were registered without a name wouldn't get added to the map. Now assigning identifiers manages the struct-map.
2017-08-11GHash: note that 'deprecated' is used for privateCampbell Barton