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
2021-03-06Cleanup: clang tidyJacques Lucke
2021-03-06Nodes: refactor derived node treeJacques Lucke
This is a complete rewrite of the derived node tree data structure. It is a much thinner abstraction about `NodeTreeRef` than before. This gives the user of the derived node tree more control and allows for greater introspection capabilities (e.g. before muted nodes were completely abstracted away; this was convenient, but came with limitations). Another nice benefit of the new structure is that it is much cheaper to build, because it does not inline all nodes and sockets in nested node groups. Differential Revision: https://developer.blender.org/D10620
2021-03-06Fix T86308 Crash in Exact Boolean when have custom normal layer.Howard Trickey
Custom Normal layers can't be interpolated, so needed a check for non-interpolatable layers before trying to interpolate.
2021-03-06Cleanup: rename wm_get_cursor_positionCampbell Barton
Match naming of other wm_cursor_position_* functions.
2021-03-06Cleanup: commentsCampbell Barton
2021-03-06Geometry Nodes: Expose vertex normals as an attributeHans Goudey
This attribute exposes mesh vertex normals as a `vertex_normal` attribute for use with nodes. Since the normal vector stored in vertices is only a cache of data computable from the surrounding faces, the attribute is read-only. A proper error message for attempting to write this attribute is part of T85749. A write-only normal attribute will likely come later, most likely called `corner_normal`. The normals are recomputed before reading if they are marked dirty. This involves const write-access to the mesh, protected by the mutex stored in `Mesh_Runtime`. This is essential for correct behavior after nodes like "Edge Split" or nodes that adjust the position attribute. Ref T84297, T85880, T86206 Differential Revision: https://developer.blender.org/D10541
2021-03-05Geometry Nodes: Sort attribute search items when menu opensHans Goudey
Because the search didn't run when the menu first opens, the attributes appeared in a different order than after you typed anything into the search field. This commit instead runs the search when the menu is first opened, but it only sorts items without filtering.
2021-03-05Cleanup: Remove redundant special handling after previous commitJulian Eisel
Not needed anymore since 3a907e742507.
2021-03-05Outliner: Barebones to port IDs to new Outliner tree-element code designJulian Eisel
Continuation of work in 2e221de4ceee and 249e4df110e0 . This prepares things so we can start porting the individual ID types to the new code design. I already added some code for library IDs, because they need some special handling during construction, which I didn't want to break. The `AbstractTreeElement::isExpandValid()` check can be removed once types were ported and can be assumed to have a proper `expand()` implemenation. Also makes `TreeElementGPencilLayer` `final` which I forgot in e0442a955bad.
2021-03-05Fix incorrect assert in Outliner ID deletionJulian Eisel
Mistake in aa3a4973a30f. The expanded `ELEM()` check would include `0 && te->idcode != 0`, which always evaluates to `false`/`0`. That wouldn't cause the asset to fail, but the `te->idcode` part would never be checked. Fixed the error and cleaned up the check against "0" with a check against `TSE_SOME_ID`, see b9e54566e3b1a.
2021-03-05Cleanup: Add & use enum value for ID Outliner element typeJulian Eisel
Code to check if the Outliner tree-element type was the general ID one would always check against "0" (explicity or even implicitly). For somebody unfamiliar with the code this is very confusing. Instead the value should be given a name, e.g. through an enum. Adds `TSE_SOME_ID` as the "default" ID tree-element type. Other types may still represent IDs, as I explained in a comment at the definition. There may also still be cases where the type is checked against "0". I noted in the comment that such cases should be cleaned up if found.
2021-03-05Cleanup: Rename func occurences to _fnSebastián Barschkis
Use _fn as a suffix for callbacks.
2021-03-05Fix crash with pinned geometry node tree with no active objectHans Goudey
The check for a null active object was after trying to retrieve the active modifier from the object.
2021-03-05Fix windows compilation.Jeroen Bakker
2021-03-05Cleanup: Use blender::Vector.Jeroen Bakker
2021-03-05Fix: compilation OpenCL kernels Compositor.Jeroen Bakker
introduced during cleanup.
2021-03-05Cleanup: use blender::Vector.Jeroen Bakker
2021-03-05Cleanup: use blender::Vector.Jeroen Bakker
2021-03-05Cleanup: use snake case.Jeroen Bakker
2021-03-05Cleanup: rename private attribtue m_max_read_buffer_offset.Jeroen Bakker
2021-03-05Cleanup: Use blender::Vector in ExecutionGroup.Jeroen Bakker
2021-03-05Cleanup: Use std::Vector for chunk execution status.Jeroen Bakker
2021-03-05Cleanup: Use enum class for eChunkExecutionState.Jeroen Bakker
2021-03-05Cleanup: ExecutionSystem::find_output_execution_groups.Jeroen Bakker
2021-03-05Cleanup: Remove unused method.Jeroen Bakker
2021-03-05Cleanup: Make WorkPackage a structJeroen Bakker
2021-03-05Cleanup: use MIN2/MAX2 in compositor.Jeroen Bakker
2021-03-05Cleanup: Remove using statements.Jeroen Bakker
2021-03-05Animation: add function to apply a pose from an ActionSybren A. Stüvel
Add `BKE_pose_apply_action(object, action, anim_eval_context)` function and expose in RNA as `Pose.apply_action(action, evaluation_time)`. This makes it possible to do the following: - Have a rig in pose mode. - Select a subset of the bones. - Have some Action loaded that contains the pose you want to apply. - Run `C.object.pose.apply_pose_from_action(D.actions['PoseName'])` - The selected bones are now posed as determined by the Action. Just like Blender's current pose library, having no bones selected acts the same as having all bones selected. Manifest Task: T86159 Reviewed By: Severin Differential Revision: https://developer.blender.org/D10578
2021-03-05Nodes: move vector rotate node to C++Jacques Lucke
This makes it easier to add an implementation that can be used in Geometry Nodes. There should be no functional changes.
2021-03-05Asset Browser Space API: add `activate_asset_by_id()` functionSybren A. Stüvel
Add an RNA function `activate_asset_by_id(asset_id: ID, deferred: bool)` to the File Browser space type, which intended to be used to activate an asset's entry as identified by its `ID *`. Calling it changes the active asset, but only if the given ID can actually be found. The activation can be deferred (by passing `deferred=True`) until the next refresh operation has finished. This is necessary when an asset has just been added, as it will be loaded by the filebrowser in a background job. Reviewed By: Severin Differential Revision: https://developer.blender.org/D10549
2021-03-05UI Code Quality: Port Outliner Grease Pencil layers to new designJulian Eisel
Continuation of work in 2e221de4ceee and 249e4df110e0. Now the tree-element types have to be ported one by one. This is probably the most straight forward type to port.
2021-03-05Cleanup: COM_convert_data_types parameters.Jeroen Bakker
2021-03-05Cleanup: Remove static struct without data.Jeroen Bakker
2021-03-05Cleanup: remove redundant NULL window checks handling eventsCampbell Barton
2021-03-05Cleanup: Sync header+implementaiton definition.Jeroen Bakker
Gave warning on Windows platform. There are more of these cases.
2021-03-05Cleanup: Use boolean in WM_cursor_waitAntonio Vazquez
2021-03-05Cleanup: move check_drag & check_click out of wmEventCampbell Barton
These variables track the wmWindow.event_queue state, however they were used in a way that wasn't correct. - check_drag & check_click from wmWindow.eventstate were used to track the click/drag status of events handled in wmWindow.event_queue. - Event's in the queue read from wmEvent.check_drag. - Once a drag action was detected, wmWindow.eventstate.check_drag was disabled. Disabling drag in the event state would not change the drag state for values already in the event queue. Simplify logic by moving these values into the window, so there is one place these variables are tracked.
2021-03-05UI: Add Presets for high framerate videoAaron Carlisle
It is quite common to high framerate video with modern cameras. To make it easier to edit this footage new framerate presets are added and the soft limit increased. Note there is a bug with preset ordering, Blender thinks "120" goes before "24" this bug needs to be fixed before these changes can be merged. Differential Revision: https://developer.blender.org/D10553
2021-03-05Cleanup: disambiguate 'queue' struct membersCampbell Barton
The term queue isn't very descruptive on it's own, use: - wmWindow.event_queue - wmWindowManager.notifier_queue
2021-03-05UI: save-preview tip now states that it's used for blend thumbnailsCampbell Barton
2021-03-05Cleanup: rename event to event_typeCampbell Barton
Reserve `event` for wmEvent.
2021-03-05Cleanup: spellingCampbell Barton
2021-03-05Cleanup: rename evt to eventCampbell Barton
Following naming convention of most operators.
2021-03-05Cleanup: rename variables in wm_event_add_ghosteventCampbell Barton
Using both evt and event together was confusing. Renamed: - event_state <- evt - event_state_other <- oevt - event_other <- oevent - win_other <- owin
2021-03-04GPencil: Implement Autokey button for Draw/Edit and Sculpt modeAntonio Vazquez
Now, if the Autokey is not enabled, a new frame is not created and it is used the last active one. If no active frame, a message is displayed and the operation is canceled. This is a common request for 2D artists. Also, grease pencil was not working as Blender does in other areas. Reviewed By: pepeland Differential Revision: https://developer.blender.org/D10557
2021-03-04Fix T59376: UV project modifier not working after modifiers that dont ↵Philipp Oeser
provide a UVMap This was reported for remesh and skin modifiers. These dont preserve UV layers (and probably cannot in a reasonable way), so instead let the UV Project modifier create a new (equally named) UV layer (as was suggested by @brecht in T59376). Maniphest Tasks: T59376 Differential Revision: https://developer.blender.org/D10617
2021-03-04Cleanup: Main `foreach ID` code: Remove `MAX_LIBARRAY` and improve comments.Bastien Montagne
The `MAX_LIBARRAY` define was an annoying doublon to the `INDEX_ID_MAX` enum value now defined in `DNA_ID.h`, and it is no more useful. And comments were somewhat outdated. Also added an explanation about chosen order for the `INDEX_ID_<IDTYPE>` order.
2021-03-04UI: prefer shorter search items in fuzzy searchJacques Lucke
This is a simple heuristic that seems to improve the search results in many cases. Differential Revision: https://developer.blender.org/D10618
2021-03-04Nodes: improve NodeTreeRefJacques Lucke
This adds a couple more utility methods to various node tree ref types. Also `InternalLinkRef` has been added to get simpler access to internal links.