Commit Graph

18266 Commits

Author SHA1 Message Date
186ac84210 Cleanup: clang-format 2020-04-01 20:47:02 +11:00
029a714fc7 Fix T75234: Saving UDIM tiled texture as OpenEXR saves only the first
tile

This happened when the UDIM tiled image needed to be colormanaged, so
- when you set up the image as sRGB, then save as EXR/HDR/...
- other way around as well: when you set up the images as Linear then
save as PNG/JPG/...

Reason being that for UDIM tiled images, `image_save_single` is called
multiple times [once for each tile] and everytime `image_save_post` will
fire the `IMA_SIGNAL_COLORMANAGE` signal which clears the cache if any of
the above two is the case. Without the cache, the next tiles cannot be
saved.

Now determine if the colorspace changed from
`image_save_single`/'image_save_post' and only fire
IMA_SIGNAL_COLORMANAGE once from BKE_image_save in the end.
(thx @brecht for suggesting this alternative to the original fix)

Maniphest Tasks: T75234

Differential Revision: https://developer.blender.org/D7296
2020-04-01 10:11:54 +02:00
60d3a801db Subdiv: Split evaluation begin+refine into separate steps
Actually, begin will do the entire initialization.

Refine will only refine if there is a topology refiner associated
with the Subdiv descriptor.

Allows to refine Subdiv to new coarse positions without touching
displacement evaluation. Will be needed to update SubdivCCG during
sculpt undo.
2020-04-01 09:32:46 +02:00
f9f0f44be8 Cleanup: quiet discarded-qualifiers, unused warnings 2020-04-01 10:50:21 +11:00
da3cb514e5 Multires: Initial Face Sets support
This implements the Sculpt Mode API functions needed for Face Sets and
visibility management for PBVH_GRIDS. No major changes were needed in
the operators and the sculpt mode code. This implementation stores the
face sets in the base mesh, so faces created in higher subdivision
levels can't be modified individually. Also, we are not checking for
multiple face sets per vertex (that can be added in the future), so
relax tools don't work yet. The rest of the features (paint, undo,
visibility operators..) work as expected.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D7168
2020-04-01 01:07:47 +02:00
17a409e223 Cleanup: use '_recursive' suffix instead of '_rec'
This convention isn't very clear and wasn't used much.
Use the more verbose term instead.
2020-03-31 22:23:33 +11:00
b74e388617 Fix T75210: Frame range does not go down to 0 in the physics tab for mantaflow when clicking the left arrow
Added nore flexibility to cache frame range and ensured validity of frame range.
2020-03-31 12:18:15 +02:00
f4982b555c Fix undo misdetecting identical future chunk in some cases
Clear is_identical_future before adding a next undo step, to avoid wrong
values for cases where we undo and then add a step with different changes
than what was previously the next step.

Ref D7274
2020-03-30 20:09:20 +02:00
2e60226f23 Fix undo debug logging not printing all types of undo pushes
Ref D7274
2020-03-30 20:09:15 +02:00
3351a2655d Subdiv: Extend some comments 2020-03-30 12:26:45 +02:00
b023c91118 Fluid: Use dynamic mode whenever active rigid bodies are in the scene
Required for collisions with moving rigid bodies. Otherwise the static optimization mode will be kept and the obstacles would be calculated only once at the beginning.
2020-03-29 21:31:20 +02:00
aec9e0e1b6 Cleanup: spelling, comments 2020-03-29 17:11:41 +11:00
d5163e06c3 Cleanup: strict-prototypes warning 2020-03-29 16:37:57 +11:00
7dbf7255c2 GPencil: Fix error when stroke has 0 points
It's possible create a stroke with 0 points using python
2020-03-28 12:33:32 +01:00
bdec24b40d Cleanup: Removing unused parameter. 2020-03-28 09:14:07 +01:00
31bd8e6bf3 Fix T74642: Take gravity field weight into account
Reviewers: sebbas

Differential Revision: https://developer.blender.org/D7227
2020-03-27 12:41:14 +01:00
25e8550739 CPencil: Cleanup unused fill code
This is now replaced by draw engine and annotations don't use fill.
2020-03-27 12:36:24 +01:00
5ce41e6f57 Fix T75111: Crash when using subframes for animated fluid collider
This is not dependent on having an armature as mentioned in T75111.
The collider simply has to be animated.

Reviewers: sebbas

Differential Revision: https://developer.blender.org/D7251
2020-03-27 12:33:33 +01:00
e7af825ded Multires: Fix unwanted assignment of sculpt session pointers
Might have happened when Apply Base is used in sculpt mode.

In practice this probably was fine, since the operator tags object
for update, so the pointers will be restored back to what they should
be.
2020-03-27 11:29:41 +01:00
3441862c96 Cleanup: Silence warnings 2020-03-27 10:29:33 +01:00
e1ee4dff8d Cleanup: redundant mask includes 2020-03-27 11:47:04 +11:00
Chris Clyne
d1972e50cb Add option to Copy the active view layer, and add an empty view layer
Modify the view layer add operator (and underlying `BKE_view_layer_add`)
to allow for copying the current view layer, as well as adding a new one
but with all LayerCollections disabled by default (this is important for
heavy scenes where currently adding view layers can take a long time due
to enabling every collection by default).

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D6862
2020-03-26 19:36:51 +01:00
Pablo Dobarro
a218be3080 Sculpt: Surface Smooth Brush and Mesh Filter
This implements the Surface Smooth Brush as a mode inside the Smooth tool,
which uses the HC algorithm from "Improved Laplacian Smoothing of Noisy Surface Meshes".
Comparted to the regular smooth brush with laplacian smooth, this brush removes
the surface while preserving the volume of the object.
The smooth result can be controlled by tweaing the original shape preservation,
displacement and iteration count.
The same surface smooth operation is also available as a mesh filter.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D7057
2020-03-26 16:13:47 +01:00
Jeroen Bakker
7ed3ebbc6e Fix T67888: Incorrect Wireframe After Applying SubSurf/MultiRes
Show control edges stores the control edges in the mesh which is
picked up by the draw manager. When applyng a subsurf (or multires) we
don't want that data present in the base mesh. Any rebuilding of the mesh
would overwrite the data anyway.

This patch introduces a new flag for applying modifiers
that can be checked to ignore storing display specific data in
the base mesh.

Reviewed By: Brecht van Lommel

Differential Revision: https://developer.blender.org/D7163
2020-03-26 15:34:53 +01:00
Jeroen Bakker
2e8fb95e7c SubDiv: Incorrect normals loose edges
The normals of loose edges can be non uniform as they aren't normalized.
Checked with what happens with edit loose edges and synchronized the
implementation.

Reviewed By: Brecht van Lommel

Differential Revision: https://developer.blender.org/D7127
2020-03-26 14:35:27 +01:00
b2b6099666 Cleanup: redundant cast, unused arguments 2020-03-26 15:37:33 +11:00
1587eb16d8 Cleanup: use const to for some mask arguments 2020-03-25 19:32:44 +11:00
2bc791437e Cleanup: use 'r_' prefix for output arguments
Also pass some args as 'const'.
2020-03-25 17:58:58 +11:00
188ccfb0dd Fix T74662: Prefetching causes random crashes
Caused by 18b693bdbd, due to lack of thread safety.
Beteween calling BKE_sequencer_cache_get_num_items and BKE_sequencer_cache_iterate
New items could be inserted in the cache.

BKE_sequencer_cache_iterate() now use 2 callbcack functions for initial setup
during which buffers with correct length can be initialized and finally iterating.

Additionally drawing of unselected items was fixed again introduced in 18b693bdbd.

T74662 is reporting quite different symptoms, than I get on my machine, so I am not
entirely sure this is complete fix.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D7220
2020-03-25 00:23:06 +01:00
d0d251b53b Cleanup: spelling 2020-03-24 10:36:42 +11:00
9c280630c9 Fix invalid comma use 2020-03-24 10:17:52 +11:00
cda81d5a4d Fluid: Enforce minimum thickness to planar flow / effector objects
Planar object now have a thickness by default. This should make it more intuitive for users as there is no need to specify an object thickness.
2020-03-23 23:50:39 +01:00
24b27ea231 Bump subversion for previous theme additions 2020-03-23 16:43:54 +01:00
0710fb724b Fix T72632: Blender crashes using Jack with AV Sync enabled (repeatable) 2020-03-23 09:34:26 +01:00
0c571db4ad Fix T73988: Mantaflow fluid simulation - Particles for Spray, Foam and Bubbles are one frame ahead of Mesh
Fixes an issue with secondary particles being out of sync with the main simulation. Cleaned up the secondary particle code in general too (making sure that all solver attributes - timestep, framelength, etc. - are set correctly).
2020-03-22 21:46:43 +01:00
1e4f6b231c Cleanup: use static declaration 2020-03-22 11:51:15 +11:00
0dbbb2eabf Cleanup: compiler warnings 2020-03-21 14:40:51 +01:00
27553a2e4e Multires: Fix assert when removing modifier in edit mode
It is not guaranteed that with Multires modifier existing there
will be CD_MDISPS and CD_GRID_PAINT_MASK custom data layers.

Fixes assert in the following scenario:

- With default cube, go to edit mode
- Add Multires modifier
- Remove the Multires modifier
2020-03-20 12:28:29 +01:00
d931aacef6 Cleanup: Use IDTypeInfo data for id_swap functions.
Part of T74960.
2020-03-20 11:55:34 +01:00
6cbf342cbb Cleanup: Move BKE_libblock_get_alloc_info to using IDTypeInfo.
Part of T74960.
2020-03-20 11:21:02 +01:00
3bab9b4868 Fix T74154: Mantaflow crash: Baking data for domain type fluid on a plane.
Added sanity check to prevent bakes from being triggered when there is no fluid object present.
2020-03-20 10:42:54 +01:00
cb560c01b6 Cleanup: clang-format, comment indentation 2020-03-20 12:23:04 +11:00
85dc8d7477 Cleanup: sort file, struct lists 2020-03-20 12:19:44 +11:00
35e3abb912 Cleanup: remove old header conventions recently re-introduced 2020-03-20 12:19:09 +11:00
d2c3544c5c Cleanup: remove debug print accidentally included in own previous commit.
Thanks to @brecht for the heads up!
2020-03-19 22:12:36 +01:00
a1322d7c95 Cleanup: fix typos in comments
Contributed by luzpaz.

Differential Revision: https://developer.blender.org/D7133
2020-03-19 21:55:17 +01:00
Stephan
da019efde9 Cleanup: silence warnign in volume grid code
Differential Revision: https://developer.blender.org/D7175
2020-03-19 21:55:17 +01:00
12b621059a Cleanup/refactor: remove BKE_idcode, in favour of BKE_idtype.
Mpving utils from idcode to idtype proved to be somewhat painful for
some reasons, but now all looks good.

Had to add a fake/empty shell for the special snowflake too,
`ID_LINK_PLACEHOLDER/INDEX_ID_NULL`...
2020-03-19 19:39:23 +01:00
0b7854323d Fix typos in names fo new mesh and texture IDTypeInfo. 2020-03-19 19:39:23 +01:00
885caa4535 Multires: Support "Subdivide" for Simple subdivision type
Is done by considering all base edges infinitely sharp.

In the future can become a different operator option to allow to mix
Catmull-Clark and simple subdivisions. For now just sticking to what
old good Blender versions were doing.

Fixes T74869: Simple subdivision type is not working as it should
2020-03-19 11:59:45 +01:00