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
2020-12-02Geometry Nodes: initial scattering and geometry nodesJacques Lucke
This is the initial merge from the geometry-nodes branch. Nodes: * Attribute Math * Boolean * Edge Split * Float Compare * Object Info * Point Distribute * Point Instance * Random Attribute * Random Float * Subdivision Surface * Transform * Triangulate It includes the initial evaluation of geometry node groups in the Geometry Nodes modifier. Notes on the Generic attribute access API The API adds an indirection for attribute access. That has the following benefits: * Most code does not have to care about how an attribute is stored internally. This is mainly necessary, because we have to deal with "legacy" attributes such as vertex weights and attributes that are embedded into other structs such as vertex positions. * When reading from an attribute, we generally don't care what domain the attribute is stored on. So we want to abstract away the interpolation that that adapts attributes from one domain to another domain (this is not actually implemented yet). Other possible improvements for later iterations include: * Actually implement interpolation between domains. * Don't use inheritance for the different attribute types. A single class for read access and one for write access might be enough, because we know all the ways in which attributes are stored internally. We don't want more different internal structures in the future. On the contrary, ideally we can consolidate the different storage formats in the future to reduce the need for this indirection. * Remove the need for heap allocations when creating attribute accessors. It includes commits from: * Dalai Felinto * Hans Goudey * Jacques Lucke * Léo Depoix
2020-12-02BLI: add missing constJacques Lucke
2020-12-02Functions: add float2 cpp typeJacques Lucke
This also adds a hash function for `float2`, because `CPPType` expects that currently.
2020-12-02Theme: update shader node color to match socket colorPablo Vazquez
Reviewed by Brecht Ref T82689.
2020-12-02UI: update node socket colorsPablo Vazquez
Note: This also changes the Shader socket color, to match "Shading" in the Outliner. Theme update for shader nodes will be committed separately. Ref T82689.
2020-12-02Nodes: add geometry socket typeJacques Lucke
We still have to pick a color for this socket. Ref T81848.
2020-12-02Functions: add generic pointer classJacques Lucke
This class represents a pointer whose type is only known at runtime.
2020-12-02Functions: add move operations to CPPTypeJacques Lucke
Those are sometimes needed when dealing with c++ types in a generic way.
2020-12-02Fix T83293: crash when selecting boneJacques Lucke
This partially reverts rBe922dd7d8a307c54d49bc01649a12610b022192b. The issues fixed by that commit is still fixed. Reviewers: fclem
2020-12-02GPU: Show Limited support message for polaris + 20.11.2 drivers.Jeroen Bakker
See T82856 for details.
2020-12-02Deps: Additional changes for PugiXML on macOSSebastián Barschkis
This commit expands the Windows-specific code in rBdca9aa0053f7 and Linux-specific code in rB33b7d53df08a. It also fixes a capitalization issue in FindPugiXML.cmake
2020-12-02GPU: Blacklist unsupported GPUs that crash during startup.Jeroen Bakker
Since Blender 2.91 the TeraScale 2 based cards crash during startup. This patch will show the user a screen that the platform they are using isn't supported. The GPUs have been carefully handpicked from dozens of reports. T83124, T83127, T83103, T83091, T83045, T83065, T82750, T82889, T82925, T82640, T82429, T82436, T82446.
2020-12-02Fix T83161: Crash when moving ruler endpoints and opening or closing the ↵Germano Cavalcante
toolshelf `invert_snap` could be called before `snap_gizmo->keymap` was found. Use the lazy initialization in `invert_snap` then.
2020-12-02Transform: Correct Mirror for Object Mode along arbitrary axisHenrik Dick
This fixes T68521, T82334. The object are not properly mirrored in object mode. For mirroring an object that has an arbitrary rotation along the X axis this is the procedure: 1. mirror x location. 2. negate x scale of the 3. negate y and z component of the rotation (independent of which rotation mode is used). This knowledge applies now for all angles and axes to finally make the mirror operation work in object mode. The new mirror function has the downside that it can not (in this form) be used with proportional editing. This is no problem since the old behavior can still be replicated by scaling with -1 along any axis. The solution to get perfect mirrors can not work for scaling in general, because in that case there could be scew created. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D9625
2020-12-02Fix T83119: Crash with topology mirror affecting a hidden vertexPhilipp Oeser
Caused by rBba97da21acf2. For non-topology mirror hidden verts were never respected/included in EDBM_verts_mirror_cache_begin (they were excluded from the kdtree). Prior to said commit, hidden mirrored verts that were still in the map would have been excluded in a separate loop over vertices in 'editmesh_mirror_data_calc()' by checking BM_ELEM_HIDDEN. Due to the new nature of this function this check was now moved to EDBM_verts_mirror_cache_begin. Maniphest Tasks: T83119 Differential Revision: https://developer.blender.org/D9673
2020-12-02Add Custom Falloff Curve to the Vertex Weight Proximity Modifier.Christian Friedrich
The Vertex Weight Edit Modifier already got the Custom Curve, there was no real reason for the proximity not to have it as well. With some fixes by Bastien Montagne (@mont29). Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9594
2020-12-02Fix T83300: constant scene refreshing in Cycles with empty volumesKévin Dietrich
This infinite loop is caused by a conflict between the volume mesh creation which unintentionally clears the shaders before early exiting when no grid is found, and the Blender exporter which adds back the shaders causing us to reupdate as the shaders changed. To fix this simply preserve the shaders on the Volume node.
2020-12-02Fix build error on builds without audaspaceRichard Antalik
This was caused by incorrect argument type in dummy function `rna_Sequences_new_sound()` Caused by 13ca11ac52a8
2020-12-02Fix T83090: Multiple warnings accessing brush enum data.Bastien Montagne
We already have generic enums for empty and default 'none' value.
2020-12-02Cleanup: Fix CMake syntax error in the last commit.Ankit Meel
2020-12-02CMake/macOS: consider MinSizeRel too for ASan.Ankit Meel
2020-12-02Cleanup: add commits to .git-blame-ignore-revs.Ankit Meel
2020-12-02VSE: Unify sequences collections APIRichard Antalik
Use RNA_api_sequences() for SequenceEditor and MetaSequence sequences member. Defines pair of dispatch functions rna_Sequences_editing_* and rna_Sequences_meta_* that pass pointer to seqbase to rna_Sequences_* function. Downside of this implementation is, that it defines 2 seemingly different RNA collections - SequencesMeta and SequencesTopLevel Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9601
2020-12-01Codesign: Allo non-zero exit code for signtool on WindowsSergey Sharybin
2020-12-01Deps: Add PugiXML as an official dependencySybren A. Stüvel
PugiXML was historically shipped hidden embedded into OIIO, the Grease Pencil team had a requirement for an XML library recently so pugi seems like a natural choice since it's not really a 'new' library, we just turn an implicit dependency into an explicit one. This commit expands the Windows-specific code in rBdca9aa0053f7 to include Linux. macOS support will be handled in a later commit. NOTE: run `cmake -U'*PUGIXML*' .` in the build directory to ensure CMake finds PugiXML in the new location. For details see D8628
2020-12-01Tracking: Refactor autotrack tracking implementationSergey Sharybin
The idea is to avoid any synchronization needed in the worker threads and make them to operate on a local data. From implementation detail this is achieved by keeping track of "wavefront" of markers which are to be tracked and the tracking result. Insertion of results to the AutoTrack context happens from main thread, which avoids need in the lock when accessing AutoTrack. This change makes tracking of many (300+) about 10% faster on the Xeon) CPU E5-2699 v4. More speedup will be gained by minimizing threading overhead in the frame cache. Another important aspect of this change is that it fixes non-thread safe access which was often causing crashes. Quite surprising the crash was never reported.
2020-12-01Libmv: Tweak default logging verbosity levelSergey Sharybin
Log to verbosity level 1 rather than INFO severity. Avoids a lot of overhead coming from construction of the INFO stream and improves performance and threadability of code which uses logging. This makes tracking of 250 frames of a track of default settings to drop down from 0.6sec to 0.4sec.
2020-12-01Libmv: Cleanup, remove unused logging macrosSergey Sharybin
Unused and was not entirely happy with such short abbreviations.
2020-12-01Cleanup: De-duplicate object mullptr checksSergey Sharybin
Makes it more clear whether object is allowed or not allowed to be NULL. Also, avoids possible access to the different object mode enumerator. Should be no functional changes.
2020-12-01Fix T83275: Crash with scene statics and empty scenePablo Dobarro
ob can be NULL, so it needs to be checked before accessing ob->mode Differential Revision: https://developer.blender.org/D9680
2020-12-01Fix sculpt transform incorrently flipping displacement in Y and Z axisPablo Dobarro
These functions were only checking the X axis for flipping the displacement for a symmetry area depending on the initial position of the pivot. This affects transform and any other tools that transform vertices and applies symmetry based on areas (the pose brush, for example). Reviewed By: sergey Differential Revision: https://developer.blender.org/D9654
2020-12-01UI: Add Sculpt Session info to statsPablo Dobarro
This adds the vertex and face count info to the scene stats in sculpt mode. These stats count the active vertices and faces in the sculptsession for the active object. This has the following advantages: - It is possible to know how many vertices the sculptsession has active comparted to the vertex count of the entire scene from sculpt mode - When sculpting with constructive modifiers, these stats will report the number of vertices that you can actually sculpt with, instead of the vertex count of the modified mesh and the entire scene. Reviewed By: sergey, dbystedt Differential Revision: https://developer.blender.org/D9623
2020-12-01Cleanup: Use LISTBASE_FOREACH for node tree sockets RNA codeHans Goudey
2020-11-30Cleanup: Reduce variable scope in node drawing codeHans Goudey
Also use LISTBASE_FOREACH in a few places and generally clean up the code for the two sidebar panels "Sockets" and "Interface".
2020-11-30Cleanup: Remove unecessary code.Bastien Montagne
We already `memset` the whole mesh runtime to zero, no need to set some of its pointer explicitly to NULL afterward.
2020-11-30Fix T83196: bad matrix to quaternion precision near 180 degrees rotation.Alexander Gavrilov
Adjust the threshold for switching from the base case to trace > 0, based on very similar example code from www.euclideanspace.com to avoid float precision issues when trace is close to -1. Also, remove conversions to and from double, because using double here doesn't really have benefit, especially with the new threshold. Finally, add quaternion-matrix-quaternion round trip tests with full coverage for all 4 branches. Differential Revision: https://developer.blender.org/D9675
2020-11-30Cleanup: Clang tidy void argumentHans Goudey
2020-11-30Fix T83177: Industry Compatible keymap: MMB-dragging to transform engages ↵Germano Cavalcante
axis-constraining on release Release confirm did not consider modal keymap events.
2020-11-30Fix T82996: Library Overrides: Duplicate of overridden collection on ResyncBastien Montagne
Properly use given reference pointer in `lib_override_library_create_post_process` when it is a Collection one too.
2020-11-30Fix (unreported) broken logic in `BKE_collection_add_from_collection`.Bastien Montagne
That function was adding given new collection to all ancestors of the reference one, instead of only to its immediate parents.
2020-11-30Cleanup: Graph Editor, refactor selection operatorsMaxime Casas
Extract initialisation code of box selection into separate functions. No functional changes. Reviewed By: zeddb, sybren Differential Revision: https://developer.blender.org/D9196
2020-11-30Fix T81628: Moving Python-made channels freezes BlenderSybren A. Stüvel
Fix various problems in the Action Group rearranging code. All fixes are necessary to resolve the bug. - Before groups are rearranged, the channels are moved into their respective groups (so no longer referenced by `action->channels`). A temporary group is made for ungrouped channels. The code made assumptions about the channels being in the same order as the groups; that assumption has been removed. - Looping over channels in an Action Group should stop when reaching the last channel, and not until `NULL`. - After all the reshuffling is done, the `action->channels` linked list wasn't terminated properly. Now `first.prev` and `last.next` are set to `NULL` to avoid infinite loops.
2020-11-30Cleanup: Animation, clean up action group rearranging codeSybren A. Stüvel
Some minor cleanups to make an upcoming bugfix easier. No functional changes.
2020-11-30Tracking: Make image accessor own what it needsSergey Sharybin
Previously image accessor was sharing array pointer for tracks access. Now it is possible to pass a temporary array valid only during the initialization process. Should be no functional changes.
2020-11-30Tracking: Clarify tracks and options storage once againSergey Sharybin
This is something not-so-trivial to see from just reading code, which shown an important of proper comments and clear naming. Main source of confusion was that it is not immediately clear that AutoTrack context is to see all tracks, but tracking to only operate on selected ones.
2020-11-30Windows/Ninja: allow parameters for rebuild.cmdRay Molenkamp
The windows build leaves a convenience helper script in the build folder called, rebuild.cmd. This change passes any parameters you give rebuild.cmd to ninja so you can easily pass it additional parameters without having to edit the batch file manually.
2020-11-30GPencil: New operator to reset Vertex ColorsAntonio Vazquez
This operators reset the vertex color information of the strokes. If nothing is selected, all strokes are reset. If any is selected, only selected strokes are reset. Also added a new menu Paint in Vertex Color mode. Differential Revision: https://developer.blender.org/D9647
2020-11-30Tracking: Cleanup, remove unused argument from image accessorSergey Sharybin
2020-11-30Tracking: Cleanup, remove unused fieldSergey Sharybin
Was re-introduced after previous round of cleanups when was merging refactor and master branches.
2020-11-30Tracking: Cleanup, use explicit frame match optionSergey Sharybin
No functional changes, just allows to potentially extend the options in the future, and also makes code more explicit.