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-08-06Cycles: load OpenVDB file earlier in Blender exportBrecht Van Lommel
In an upcoming bugfix we'll use OpenVDB data structures directly to build mesh for sparse OpenVDB volumes, loading them OpenVDB grids earlier and removing any references to Blender data structures makes that easier. This also makes changes to Blender volumes to support this, so Cycles can take ownership of a grid without Blender having to keep its own reference to it. This should also be useful in a future Python API. Ref D8401
2020-08-06Move CDData debug print helper from DM to CustomData 'namespace'/files.Bastien Montagne
2020-08-06Fix T79408: ungroup operation update animation data incorrectlyJacques Lucke
Reviewers: sybren, sergey Differential Revision: https://developer.blender.org/D8464
2020-08-05Fix T77517 EEVEE: Collection Holdout doesn't work in 2.90Clément Foucault
The default material was missing its init code.
2020-08-05Sculpt: Use vertices instead of faces to limit the grids in each PBVH nodePablo Dobarro
This uses the vertices per grid instead of quads to set the limit of grids per PBVH Node. This should create more leaf nodes in lower subdivisions levels where the duplicates count is high, producing more uniform performance across different levels. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8454
2020-08-05Fix T79520: Data Transfer modifier: crash/assert going into editmode on a ↵Bastien Montagne
source object.
2020-08-05Fix T78665: Face Set visibility reverted when chaning Multires LevelsPablo Dobarro
Face Sets where only set and updated on the PBVH after starting a sculpt tool. In order to preserve the visibility they store when changing levels, they need to be updated and sync also on PBVH creation Reviewed By: sergey Maniphest Tasks: T78665 Differential Revision: https://developer.blender.org/D8225
2020-08-05Fix missing duplicates in the subdiv_ccg neighbors functionPablo Dobarro
Duplicates of a grid corner adjacent to an edge which are on the adjacent grid of the same face were not added when requested. Needed for D8356 to work, it may also fix some other bug in Multires. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8385
2020-08-04Cleanup: typos & co in UI messages (and some other places).Bastien Montagne
2020-08-04Pose channel: Add session UUIDSergey Sharybin
Allows to identify pose channels more reliably than by the pointer.
2020-08-04Fix: Remove debug print added mistakenlyHans Goudey
This print whenever units are evaluated in number input was added in 45dbc38a8b15 mistakenly.
2020-08-03Mesh: correct negative material indices when validatingCampbell Barton
Fixes corrupt mesh from T79451.
2020-08-02Fix T67181: Only the first added movie strip will have audio belowRichard Antalik
Find free slot first for sound strips then for movie strips. This patch also fixes issue where all strips were added to channel 2 by default. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8339
2020-08-02Cleanup: pass const matricesCampbell Barton
Also order return matrices last.
2020-07-31GPencil: Fix unreported missing last point in NURBS conversionAntonio Vazquez
The last point of the curve was missing.
2020-07-31Depsgraph: Add command line argument to debug UUIDsSergey Sharybin
Will trigger code paths which makes sure UUIDs are generated and are unique. Enabled with --debug-depsgraph-uuid (which is also implied by --debug-depsgraph).
2020-07-31Sequencer: Add session UUID check functionSergey Sharybin
Is aimed for use during development and debug, to help verifying that operations do not leave sequences with invalid UUIDs.
2020-07-31Sequencer: Add session UUID management to SequenceSergey Sharybin
This is the first step for having sequences covered with session UUID with the goal to remove code which uses original sequence pointer to match sequences. Currently this UUID is maintained on file load, allocation and leaf duplication function.There are more cases to cover and ensure UUID is re-generated or re-used when needed. It will be done as follow-up development.
2020-07-30Fix T79207: Crash converting curve to meshCampbell Barton
2020-07-29Fix T78285: Invalid thread safety in shrinkwrap modifier code.Bastien Montagne
This uses mesh's runtime mutex for both `BKE_mesh_runtime_looptri_ensure` (was using its own global RW mutex before), and `BKE_mesh_wrapper_ensure_mdata` (was not protected at all before). This is more like a band-aid than a proper fix, as mentioned in the report proper fix would be for the modifier to request those data (the relevant BVHTree, which would implicitely also call the tow others) through flags, just like it does for regular CDData layers. But this is a much bigger refactor to be done outside of bugfix scope. Reviewed By: sergey Maniphest Tasks: T78285 Differential Revision: https://developer.blender.org/D8415
2020-07-29Cleanup: Remove deprecated comment.Bastien Montagne
2020-07-29Cleanup: Always keep unlock at same level as lock.Bastien Montagne
This was fine in those cases with current code, but that kind of assumption is always risky, and an open door to hard-to-track bugs when code changes in the future...
2020-07-28Cleanup: correct usage of extern-C blocks in various placesJacques Lucke
This removes extern-C blocks around other includes and adds such blocks for some headers that need them.
2020-07-28Fix T54544: "Copy Materials to Selected" only works when materials are ↵Bastien Montagne
defined on the mesh. Build a temp matarray storing materials from obdata and source object (depending on slots 'allocation' of source object), and assign those to targets. Also remove limitation of 'using same obdata is forbidden', just never edit obdata materials in that case... Certainly not perfect, but already much better than existing code.
2020-07-28Fix T79341: Crash evaluating curveCampbell Barton
2020-07-27Fix T79074: Mesh Topology info not being updated after changesPablo Dobarro
All these data arrays are created for a specific topology, so they should be freed and updated when the PBVH rebuilds. Previously, this was only happening when freeing the SculptSession, but it also needs to happen in BKE_sculpt_update_object_before_eval to avoid reusing out of date data. Reviewed By: sergey Maniphest Tasks: T79074 Differential Revision: https://developer.blender.org/D8357
2020-07-27Fix T78242: Crash when using a Sculpt color tools that needs connectivity ↵Pablo Dobarro
for the first time When there is no color layer available, BKE_sculpt_update_object_for_edit creates a new one and tags the mesh with ID_RECLAC_GEOMETRY, so this layer is inmediatly available when the tool starts. This also deletes the PBVH and when it is created again in BKE_sculpt_update_object_after_eval, the pmap is not initialized, making the tool crash. This moves the color layer creation to a separate function outside BKE_sculpt_update_object_for_edit, which now runs after the color layer is available, so it won't need to update again and the pmap will still be available when the tool is used. Reviewed By: sergey Maniphest Tasks: T78242 Differential Revision: https://developer.blender.org/D8135
2020-07-27Cleanup: Fix compiler warning about missing parenthesesSybren A. Stüvel
The code was well-defined, given that `&&` binds stronger than `||`, but still GCC warns about this. No functional changes.
2020-07-27Cleanup: comments.Bastien Montagne
2020-07-27Cleanup: Minor renaming.Bastien Montagne
2020-07-26Fluid: Added new option to control the maximum number fluid particles in the ↵Sebastián Barschkis
simulation New option that lets users the define the maximum number of fluid particles that will be allowed in the simulation. This can come in handy, for example, to ensure that the particle count will not exceed the hardware capabilities, or to avoid excessive amounts of particles in a scene.
2020-07-26Fix T74958: Infinite loop on using strip as modifier maskRichard Antalik
Add recursion check before assigning strip as a mask for modifier. Same check is used for recursion check when reassigning effect input, so it should not be possible to create recursion at all.
2020-07-26Fix T78999: Crash when adjusting sequencer propertyRichard Antalik
Sequencer was not initialized yet, and RNA update function tried to clean up cache. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8323
2020-07-26Fix T79272: Dimensions fail on negative scaled axisCampbell Barton
2020-07-25Fix T72622: Transform object origin ignores shape keysCampbell Barton
D8367 by @paul2t with edits.
2020-07-23Cleanup: Clang format.Bastien Montagne
2020-07-23Fix (unreported) bad handling of pointers in overrides with shapekeys.Bastien Montagne
2020-07-23LibOverride: Add core functions to reset a library override.Bastien Montagne
This means that we delete all override properties except for those over ID pointers *if* the assigned pointer matches the linked data hierarchy. Then we reload affected datablocks.
2020-07-23LibOverride: Fix missing ID update tag in `BKE_lib_override_library_update`.Bastien Montagne
2020-07-23LibOverride: change runtime data into a real struct.Bastien Montagne
Needed for upcoming changes.
2020-07-23LibOverride: Optimize/fix new generic 'relation-based' make override code.Bastien Montagne
This commit mostly avoids following 'loop back' ID pointers, since those should never define an actual relationship.
2020-07-23Fix T79162: 'prop_search' includes ID prefix in string propertiesCampbell Barton
Regression from d6cefef98f87a This also fixes an unreported issue where finding an exact match wasn't being detected for items that contained an ID prefix.
2020-07-22Release branch is now in beta.Nathan Letwory
2020-07-22Particles: give emitter its own stateJacques Lucke
High quality emitters need to maintain state themselves. For example, this it needs to remember when it spawned the last particle. This is especially important when the birth rate is changing over time. Otherwise, there will be very visible artifacts. It is quite likely that other components of the simulation need their own state as well. Therefore, I refactored the `SimulationState` type a bit, to make it more extensible. Instead of using hardcoded type numbers, a string is used to identify the state type. Also, instead of having switch statements in many places, there is a new `SimulationStateType` that encapsulates information about how a specific state is created/freed/copied/... I removed the integration with the point cache for now, because it was not used anyway in it's current state.
2020-07-22GPencil: New BKE function for setting random vertex colorAntonio Vazquez
This function is very handy for debug purposes.
2020-07-21Sculpt: Add extra deform types to SlidePablo Dobarro
This adds extra deform modes to the slide mode of the Topology Slide/Relax brush (both slide and smear are almost identical). This is useful to move topology to a specific area to add more localized details Reviewed By: sergey Differential Revision: https://developer.blender.org/D8349
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-21Cleanup: Comments.Bastien Montagne
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-21Fluid: Cleanup unused variablesSebastián Barschkis