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
2020-07-21Particles: initial object socket and emitter node supportJacques Lucke
Object sockets work now, but only the new Object Transforms and the Particle Mesh Emitter node use it. The emitter does not actually use the mesh surface yet. Instead, new particles are just emitted around the origin of the object. Internally, handles to object data blocks are passed around in the network, instead of raw object pointers. Using handles has a couple of benefits: * The caller of the function has control over which handles can be resolved and therefore limit access to specific data. The set of data blocks that is accessed by a node tree should be known statically. This is necessary for a proper integration with the dependency graph. * When the pointer to an object changes (e.g. after restarting Blender), all handles are still valid. * When an object is deleted, the handle is invalidated without causing crashes. * The handle is just an integer that can be stored per particle and can be cached easily. The mapping between handles and their corresponding data blocks is stored in the Simulation data block.
2020-07-21UI: Adjust Multiresolution Modifier LayoutHans Goudey
Adjusting the layout for this modifier is the final part of the modifier UI project for 2.90. This layout exposes the most important information, the levels and subdivision controls, by default, putting other contols in collapsed subpanels. Note that there is empty space for the "Delete Lower" button that is still planned for 2.90. And there will also eventually be more items added to the "Shape" panel, maybe for 2.90. Differential Revision: https://developer.blender.org/D8187
2020-07-21UI: Use consistent layout for custom operator UIHans Goudey
Operators are one of the last places in Blender to use older UI designs that don't fit in with recent style conventions. This commit updates these custom operator UI callbacks for consistency and clarity. Some of the code is also simplified a lot. Some of the older operator layouts were much more complex (in terms of code) than they needed to be. See the differential revision for a before and after screenshot of each operator. Differential Revision: https://developer.blender.org/D8326
2020-07-21UI: Add an outer boundary for edge panning, use in outlinerHans Goudey
Currently if you drag and drop an item from the outliner elsewhere in the Blender window, the outliner will scroll the entire time, even if the mouse is far away. This commit adds optional behavior for the edge pan operator that makes it only act if the mouse is close enough to the region. Differential Revision: https://developer.blender.org/D8193
2020-07-21Cleanup: Comments.Bastien Montagne
2020-07-21Fix (unreported) broken code in recent override operator enhancements.Bastien Montagne
When overriding a whole linked collection from a single object in 3DView, said 'reference' object would be removed by code. We only want that behavior when overriding from an instanciating Empty.
2020-07-21Fix T78994: Clear selected pose doesn't work without animationHans Goudey
It looks like the code left this as a todo, but the basic solution is to add an extra parameter to BKE_bose_rest to check whether bones are selected before reseting them. I also corrected the operator description which said it acted on only selected bones even when there is an option to turn that off. The "act on selected" is generally implied for Blender's operators anyway. Differential Revision: https://developer.blender.org/D8319
2020-07-21Cleanup: CodeQuality: Replace OB_DRAWXRAY by OB_DRAW_IN_FRONTClément Foucault
This is to match the option name and to avoid confusion with workbench xray mode.
2020-07-21Fluid: Cleanup unused variablesSebastián Barschkis
2020-07-21Tests: IO, fixed a memory leak in the USDHierarchyIteratorTestSybren A. Stüvel
No functional changes to Blender.
2020-07-21Cleanup: IO, renamed `delete_object_writer()` → `release_writer()`Sybren A. Stüvel
The function is called for all writers, not just 'object' writers. Furthermore, it's called by the function `release_writers()`, so now the name is consistent with that as well. No functional changes.
2020-07-21Tests: fix link errors when USD and Alembic are disabledSybren A. Stüvel
The unit tests for `bf_io_common` didn't actually link against `bf_io_common`, so when both USD and Alembic were disabled, nothing would link against that library and building the tests would fail.
2020-07-21Fix T79112: Redo shrink/fatten uses negative valuesCampbell Barton
The numbers in the redo panel were negated compared to the value entered while transforming.
2020-07-21Fix T78867: Crash related to viewing video filesSergey Sharybin
Any time FFmpeg was used to get a picture Blender would crash when FFmpeg 4.3 is used. This affects thumbnails, VSE, Clip Editor. Caused by a bug in FFmpeg which lead to crashes when unaligned buffer was passed to sws_scale(). It got fixed later on in FFmpeg, but for portability and compatibility reasons still nice to avoid crash, especially since it's not so difficult to do. FFmpeg ticked number is #8747 The FFmpeg Git hash with the fix: ba3e771a42c2 Differential Revision: https://developer.blender.org/D8355
2020-07-21Cleanup: `layer_collection_sync`: use `LISTBASE_FOREACH_MUTABLE`.Bastien Montagne
2020-07-21Cleanup: `layer_collection_sync`: use proper naming.Bastien Montagne
Previous ones were extremely confusing and innacurate (probably inherited from older versions of scene collections?). Also, use named fields in struct initialization, much much safer and cleaner than anonymous, positionned-based thing.
2020-07-21Fix T72621: Transform object origin support for grease-pencilSebastian Parborg
Added support for transforming only origins with greasepencil objects. The new functions is based on BKE_gpencil_transform. That is why there is FIXME statements in there. Reviewed By: Campbell, Antonio Differential Revision: http://developer.blender.org/D8303
2020-07-21Fix (unreported) bad handling of detection of what to override from 3DView ↵Bastien Montagne
in some cases. Having a directly linked object does not always mean it should be considered as really overridable...
2020-07-21Fix (unreported) LibOverride creation adding things to linked collections.Bastien Montagne
This is strictly forbidden, and sill cause crashes with undo in some cases...
2020-07-21Fix T79066: Entering Edit Mode when Viewport Display set as Wire or Bounds ↵Jeroen Bakker
leads to crash
2020-07-21Cleanup: convert unsigned to signed comparison in assertJacques Lucke
Thanks to Campbell for pointing this out.
2020-07-21Cleanup: spellingCampbell Barton
2020-07-21Fix UV edge/face sync selection from recent sticky select cleanupCampbell Barton
2020-07-21Cleanup: simplify sticky UV selectionCampbell Barton
Use BMesh connectivity information instead of looping over all geometry to flush the sticky selection.
2020-07-21UV: remove selection threshold for nearby coordinatesCampbell Barton
Internally UV selection considered close UV's to be connected. While this could be convenient in some cases, it complicates logic for more advanced selection operations that need to check when UV's should be considered part of the same vertex since simple threshold checks would give different results depending on the order of UV's tested. Users must now run "Merge by Distance" instead of relying on this selection threshold.
2020-07-21Cleanup: improve comment for disabled readfile allocation namingCampbell Barton
Also allocate the required amount instead of a fixed size.
2020-07-20Fix T78733 Bevel sometimes produces zero-area UV face with odd segments.Howard Trickey
A bug introduced when I made the choice of interpolation face cleverer.
2020-07-20Fix weird placement of "Motion Tracking" in 3D View overlay popupJulian Eisel
There was a weird looking gap between the checkbox and the "Motion Tracking" label. Plus, the label could not be clicked to change the value, unlike usually. Issue is that the row is actually a sub-panel header. The checkbox being drawn with the draw_header() callback, and the label being added as separate item by the popover panel code. This adds a hack so the checkbox can add the panel label itself (the popup drawing skips adding the label then). That addresses mentioned issues.
2020-07-20Cycles: adjust Sky texture intensity to follow physical unitsBrecht Van Lommel
The sky will appear brighter than before by default. To compensate for this, lower exposure in the Film panel. The default altitude was also changed from 90 to 15 degrees. Patch contributed by Marco with the help of Ryan Jones. Differential Revision: https://developer.blender.org/D8285
2020-07-20Python API: option to use OpenGL context in RenderEngine.renderMiguel Pozo
When bl_use_gpu_context is set, an OpenGL context will be available for OpenGL based render engines. Differential Revision: https://developer.blender.org/D8305
2020-07-20Fix (unreported) broken deletion of Shapekeys alongside their owner ID.Bastien Montagne
Trying to get shape key pointer after having unlinked its owner from Main data-base is rather useless... So those shapekeys ended up never being deleted.
2020-07-20Fix (unreported) bad handling of shapekeys when applying override rules.Bastien Montagne
We need to do a full proper swap of those shape keys as well, previous code ended up breaking relationships between data-blocks...
2020-07-20Fluid: Refactored smoke noise systemSebastián Barschkis
This refactor is in response to reports in which the adaptive domain with noise caused a crash (e.g. T79009). It should also fix issues where the smoke appeared to be cut off when using the adaptive domain together with noise. It is also possible that some of these changes improve the lines issue from T74559.
2020-07-20Fix T78321 Eevee: Motion blur crash rendering animation with high steps countClément Foucault
This was caused by `BPy_*_ALLOW_THREADS` being used when it shouldn't. Implemented the simple fix suggested by @brecht : > The simplest solution may be to ensure that Python stuff is only done > when called through the RNA API, and not when Eevee calls it directly.
2020-07-20Fix T78960: 2.83.2 not opening a 2.82a project correctly.Bastien Montagne
That project cannot be opened correctly ayway, it has recursive collections intanciating themselves... But at least now we have a check at startup to detect and 'fix' those nasty cycles in collections.
2020-07-20BLI: add typedefs for containers that use raw allocatorsJacques Lucke
Those are useful when you have to create containers with static storage duration. If those would use Blender's guarded allocator, it would report memory leaks, that are not actually leaks.
2020-07-20Fix T78958: Library Override crash: undo make local.Bastien Montagne
2020-07-20Particles: support removing particles during the simulationJacques Lucke
This still cannot be controlled by the user. Currently, all particles are killed after two seconds
2020-07-20Fix T79107: Crash changing brush size in GPencil sculptAntonio Vazquez
Reviewed By: fclem Maniphest Tasks: T79107 Differential Revision: https://developer.blender.org/D8353
2020-07-20Fix signed/unsigned comparisonJacques Lucke
2020-07-20Fix T70455: Knife Tool failing to cut edgesGermano Cavalcante
Analyzing the cuts, the points shown in the viewport (indicating the previous and current cuts) do not correspond to the final cuts. Sometimes a point, even snapped to a vert, is a point that cuts an edge and sometimes a point, even snapped to an edge, is a point that cuts only the face. This is because the detection of snapping vertices from mouse is different from the "snap" that detects vertices that are cut. So small projection inaccuracies can result in detection failures. The solution for this is simply to confirm the cuts whose vertices indicate the `prev` ou and `cur` point. The tolerance distance does not need to be calculated in these cases.
2020-07-20Animation: Fix MSVC warning about C incompatibility of `AnimationEvalContext`Sybren A. Stüvel
Thanks @JacquesLucke for pointing this out. No functional changes.
2020-07-20BLI: add Vector/Array.fill methodsJacques Lucke
2020-07-20Refactor: Update integer type usageJacques Lucke
This updates the usage of integer types in code I wrote according to our new style guides. Major changes: * Use signed instead of unsigned integers in many places. * C++ containers in blenlib use `int64_t` for size and indices now (instead of `uint`). * Hash values for C++ containers are 64 bit wide now (instead of 32 bit). I do hope that I broke no builds, but it is quite likely that some compiler reports slightly different errors. Please let me know when there are any errors. If the fix is small, feel free to commit it yourself. I compiled successfully on linux with gcc and on windows.
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-07-20Fix T79089: Crash changing themesCampbell Barton
Regression from 2840782d8478f.
2020-07-20Fix T79077: Off-screen rendering ignores shading argumentCampbell Barton
Thumbnails used the 3D view shading mode when a camera wasn't used.
2020-07-20DRW: draw hook relationship linesCampbell Barton
This wasn't added back from 2.7x, making "Recenter Hook" applier to do nothing.
2020-07-20DRW: overlay engine support for drawing isolated pointsCampbell Barton
This matches similar functionality for drawing lines.
2020-07-20UI: use "Recalculate" instead of "Recalc"Yevgeny Makarov