Commit Graph

93561 Commits

Author SHA1 Message Date
Sergey Sharybin
a2febb8d91 CMake: Suppress strict warnings for extern on macOS
Silences a lot of noise from Mantaflow.
2020-02-20 11:06:40 +01:00
Antonio Vazquez
e2722aec6b Fix ushort compiler errors in Windows
ushort is not supported
2020-02-20 10:28:32 +01:00
Jacques Lucke
0e48bb26af Modifiers: Refactor Mask modifier
The functionality of the mask modifier remains unchanged.

This patch updates the mask modifier so that it uses C++.
The manual memory management has been replaced with proper containers.
The large `applyModifier` function has been splitup into multiple smaller functions.
A large speedup is achieved by using simple arrays instead of hash tables in multiple places.

In my performance test file the playback speed increased from 1.1 to 5.1 fps on my laptop.

Reviewers: campbellbarton, brecht

Differential Revision: https://developer.blender.org/D6779
2020-02-20 10:05:47 +01:00
Campbell Barton
2a6df7dfe5 Cleanup: use named unsigned types in the Python API 2020-02-20 15:40:05 +11:00
Campbell Barton
1e3ffd1f87 mathutils: support for to_2x2 as well as non-square matrices 2020-02-20 15:17:22 +11:00
Tiago Chaves
bc86eb1780 mathutils: support Vector.rotate for 2D vectors 2020-02-20 13:58:46 +11:00
Tiago Chaves
0115568ca6 BLI_math: add 2x2 matrix utilities 2020-02-20 13:58:46 +11:00
Campbell Barton
e233e492df Cleanup: rename mul_m2v2 to mul_m2_v2
Matches mul_m3_v3
2020-02-20 13:58:46 +11:00
Campbell Barton
71d6fbcd51 Fix missing error message on convex hull failure
Also remove unused errors.
2020-02-20 12:21:05 +11:00
Campbell Barton
146fe1decf Cleanup: remove use of 'register'
This isn't needed with modern compilers.
2020-02-20 12:21:05 +11:00
Campbell Barton
60e877bb78 Cleanup: unused structs 2020-02-20 12:21:01 +11:00
Campbell Barton
5dcb6fb22f Cleanup: unused enums 2020-02-20 12:19:55 +11:00
Campbell Barton
a74f0dc0e3 Cleanup: declatatuons for functions that don't exist 2020-02-20 11:22:14 +11:00
Germano Cavalcante
6f5ef60f1b Fix T65640: Axis of Custom Shape Bones are drawn in a wrong position.
The problem is that Custom Shape Bones can also have a custom size.
So the pchan->disp_mat doesn't always consider the actual length of the bone.
The proposed solution is to calculate the axes matrix at the drawing pass.

Ref T65640

Reviewed By: fclem

Differential Revision: http://developer.blender.org/D5049
2020-02-20 00:53:07 +01:00
Clément Foucault
0c01ad9300 Fix T74019 Eevee High Quality Normals causing pitch black faces
Was due to a mistake when removing previous code...
2020-02-20 00:13:48 +01:00
Clément Foucault
67cbce0b02 DRW: Fix facing reset when drawing with inverted camera 2020-02-20 00:03:26 +01:00
Julian Eisel
03a4d3c33f RNA: Fail makesrna if enum identifiers contain spaces
We could of course always add checks for more invalid characters, but
I'd say they are more unlikely to happen.
2020-02-19 20:45:58 +01:00
Julian Eisel
e37988fa21 Fix compile error when building with Cycles 2020-02-19 20:14:30 +01:00
Clément Foucault
f972a3c314 DRW: Support inverted view matrix
We detect the case where we need to invert the facing directly inside the
DRWView update and do the appropriate GL calls at draw time.

Fix T63047 Camera with negative scale works only in Cycles Rendered view
Fix T71352 Negative scale camera causes BLI_assert
2020-02-19 19:36:48 +01:00
Sebastián Barschkis
bda8076d35 Fluid: Temporary fix for gzopen on windows
Needs more consideration. This fixes compilation for now.
2020-02-19 19:34:23 +01:00
Pablo Dobarro
05fd2acf89 Theme: Radial gradient background and enum for gradient type
This commit replaces the "Use Gradient" checkbox theme option with an
enum and implements a radial background.

Whith this change, it should be easier to implemet other types of more
complex background types, like a world space oriented gradient.

Reviewed By: billreynish, fclem, brecht

Differential Revision: https://developer.blender.org/D6825
2020-02-19 19:12:46 +01:00
Pablo Dobarro
2df040ed58 Fix T54270: Reset last_hit and last_location when reading the file
It does not make sense to read those values when loading a file and they can crash the cursor if they contain invalid coordinates.

Reviewed By: brecht

Maniphest Tasks: T54270

Differential Revision: https://developer.blender.org/D6754
2020-02-19 19:08:08 +01:00
Sebastián Barschkis
888d180164 Fluid: Updated manta pp files
Updates in the files include:
- New manta files now use an platform independent gzopen function
- Adjusted argument name for vorticity
2020-02-19 18:58:48 +01:00
Sebastián Barschkis
04b7f052e1 Fluid: Updated Manta updater script
Minor adjustments for the build directory location.
2020-02-19 18:58:48 +01:00
Dalai Felinto
213b4f76ee Cleanup: make format 2020-02-19 18:44:22 +01:00
Sebastián Barschkis
19f3a93e22 Fluid: More cleanup in fluid rna code
Removed scientific variable names from UI.
2020-02-19 18:42:14 +01:00
Brecht Van Lommel
f0a22f5dd0 Fix T73932: modifying keyframes in nodes fails when there is an image sequence
Image animation should not be an depsgraph node of type ANIMATION, there is
no need for it to be affected by the special casing for that.
2020-02-19 18:13:05 +01:00
Pablo Dobarro
ee5c13c45c Sculpt: Pinch only in the direction perpendicular to the stroke
By pinching this way, we can fix some artifacts when sculpting following
the topology direction. It does not make much difference with dyntopo/
remesher, but I think this should improve the quality of the brush when
working with Multires.

Reviewed By: JulienKaspar, jbakker

Differential Revision: https://developer.blender.org/D6587
2020-02-19 18:08:37 +01:00
Sebastián Barschkis
e77e6ba308 Fluid: Cleanup in fluid rna code
More descriptive names for secondary particle options.
2020-02-19 17:35:15 +01:00
Bastien Montagne
d772c6ea31 Fix T74009: bpy.ops.outliner.orphans_purge() poll being too restrictive.
There is no reason to even require an editor at all here, for now just
kept the 'orphan view needed' condition for the outliner case only.
2020-02-19 17:08:58 +01:00
Bastien Montagne
1c0230b573 Fix for Fix (c) : Normals Edit modifier using unititialized array of normals...
Own mistake in recent rBcfdb5b9a8b07.
2020-02-19 16:35:45 +01:00
Bastien Montagne
e317e9f6c7 Fix T72751: Timeline crash from overridden scene.
Depsgraph RNA pointer would generate infinite loop in override comparisons.

Depsgraph pointer should never be considered here anyway, this is purely
runtime data.
2020-02-19 16:10:57 +01:00
Sebastián Barschkis
8c5e36d0a9 Fluid: Fix typo that was made in 4453509d83 2020-02-19 15:33:36 +01:00
Sebastián Barschkis
4453509d83 Fix T73770: Mantaflow is unable to bake fluid simulations on non-ASCII file paths
Some fluid cache functions were not using Blender's more secure BLI_gzopen() function. On Windows there are some special cases which this function can handle compared to the plain gzopen().
2020-02-19 15:07:54 +01:00
Bastien Montagne
367ecff15d readfile: Move ID refcounting to libquery.
Having that extra ID users handling at readfile level, besides generic
one ensured by libquery, has been something bothering me for a long time
(had to fix my share of bugs due to mismatches between those two areas).

Further more, work on undo speedup will require even more complex ID
refcount management if we want to keep it in readfile.c area.

So idea is instead to generalize what we did for linked data already
when undoing: recompute properly usercount numbers after liblink step,
for all IDs.

Note that extra time required here is neglectable in a whole .blend file
reading (few extra milliseconds when loading a full production scene
e.g.).

Notes:
* Some deprecated data (IPOs) are not refcounted at all anymore, this
should not be an issue in pratice since the are supposed to get deleted
after doversion anyway.
* Refcounting happens after `do_versions_after_linking`, i.e those
functions won't get valid ID usercounts currently. Again, this is not a
problem in current code, if needed we could recompute refcount before,
and then ensure `do_versions_after_linoiing()` actually handles properly
usercount, which it does not currently.

Differential Revision: https://developer.blender.org/D6881
2020-02-19 12:56:02 +01:00
Germano Cavalcante
bde215a60c Fix T68878: Update shapekeys during transformation
Only use the hack in `key_block_get_data` for the bmesh shapekey.
The remaining shapekeys can use the original offset values.

Differential Revision: https://developer.blender.org/D6516
2020-02-19 08:54:34 -03:00
Bastien Montagne
cfdb5b9a8b Fix T73941: Custom normals from normal edit modifier ignored by further modifiers.
This commit actually fixes several issues in this modifier, but main one
from the report was caused by adding a `CD_NORMAL` layer to loops to
store temp real clnors. Unless we plan on modifying the topology itself,
this is useless, and would require some additional 'dirty normals'
tagging to work properly, so just switched to simpler, cleaner solution
of having a local array of computed clnors.
2020-02-19 12:28:35 +01:00
Philipp Oeser
65ea5020c4 Fix T73938: Cycles Vertex Color wrong if no layer is specified
The node would render black in this case (but should use the
'active_render' layer choosen in the object data properties -- this is
now in line to how this is handled for e.g. UVs)

This introduces ATTR_STD_VERTEX_COLOR and uses this thoughout, if no
particular layer is specified in the node.

Maniphest Tasks: T73938

Differential Revision: https://developer.blender.org/D6887
2020-02-19 12:10:33 +01:00
Sergey Sharybin
3b01dbdeb1 Subdiv: Clarify Subdiv settings
The actual naming might also be a subject to change, especially the one
around `level`. Tricky part here is that at some point in the API there
will be change from Blender modifier's Quality to OpenSubdiv's Level,
but which API level is most suitable for this?

At least now meaning of settings is better documented ans should be
clear what's going on.
2020-02-19 11:49:32 +01:00
Brecht Van Lommel
02f44049a8 Fix make deps OSL build on some systems with Qt libraries 2020-02-19 11:41:38 +01:00
Jacques Lucke
d54a4a32f3 Fix T73859: Support executing sculpt.set_pivot_position without invoke
Reviewers: brecht
2020-02-19 10:07:46 +01:00
Campbell Barton
3afe218a7d Cleanup: assign Main, use existing assignments
Avoid accessing inline since it's often used multiple times.

In some cases it was already defined.
2020-02-19 15:07:32 +11:00
Campbell Barton
9f8dd4f9e5 BLI_math: unify zero area checks for barycentric weight calculation
This applies the change from T73348 fix to related functions.

Instead of checking against an epsilon to avoid divide by zero,
perform the division and check the result is finite.

This is needed since small faces can have an area under 'FLT_EPSILON',
and dividing by values close to zero can result in 'inf'.
2020-02-19 13:33:53 +11:00
Charlie Jolly
eef5b506d5 EEVEE: Color Ramp Ease Optimisation
This patch provides an optimisation for Ease (Smoothstep) setting in the color ramp node.
This optimisation exists already for Constant and Linear modes.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6880
2020-02-19 02:27:36 +01:00
Clément Foucault
e82827bf6e DRW: New High Quality Normal & Tangent extract
This patch adds a dedicated path to extract 16bit normals instead of packing them into 10bits/comp.
The tangents are also packed to 10bits/comp if not using the new High Quality Normal option.

Fix T61024 Degraded texture shading on dense meshes

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6614
2020-02-19 01:57:06 +01:00
Clément Foucault
77619f5274 GPU: Fix huge performance regression regarding instancing
Under some circumstances, MultiDrawIndirect was disabled to improve perf.
of average scene. But this conflicted with the normal instancing buffer
filling if only 1 or 2 instances were needed to fill the buffer. All
consecutive drawcalls could not be batched together and performance would
degrade rapidly.

This patch make my instance test scene go from 11fps back to 40fps where
it should have been.
2020-02-18 18:20:00 +01:00
Clément Foucault
56d6666689 GPU: Limit Mesa workaround to older version 2020-02-18 18:20:00 +01:00
Cody Winchester
20605c4b51 Modifiers: UVWarp modifier add invert vgroup option
Adds the invert vgroup option to the UVWarp modifier. Adds a flag and char padding to the DNA.

Differential Revision: https://developer.blender.org/D6841
2020-02-18 18:14:44 +01:00
Cody Winchester
6cd4363c0c Modifiers: Bevel modifier add invert vgroup option
Adds the invert vgroup option to the Bevel modifier.

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D6845
2020-02-18 18:09:40 +01:00
Brecht Van Lommel
ed8aa154a3 Fix crash loading .blend file saved with Blender 2.25
pathJumper.blend from 2.25 release demo files in demos225.zip
2020-02-18 18:05:11 +01:00