Commit Graph

13642 Commits

Author SHA1 Message Date
Sergey Sharybin
ea61700a2d Tracking: Use pixel aspect from clip
Don't force square pixel, since on a more real pipeline
expected delivery is same anamorphic as an input footage.
2018-09-24 16:26:27 +02:00
Campbell Barton
0acc1b4c6c Cleanup: style 2018-09-20 10:06:59 +10:00
mano-wii
238a270d8f Fix possible misuse of BLI_strncpy.
Same issue as rB39f7c8256d58.
2018-09-19 09:04:55 -03:00
mano-wii
39f7c8256d Fix unreported: Undo of texts pasted in the Text Editor misses one character.
Caused by commit rB28c34ae7e2d6
Unlike `strncpy`, `BLI_strncpy` ensures the last character is '\0'.
2018-09-19 13:31:55 +10:00
Campbell Barton
bb3ec3ebaf BLI_utildefines: rename pointer conversion macros
Terms get/set don't make much sense when casting values.

Name macros so the conversion is obvious,
use common prefix for easier completion.

- GET_INT_FROM_POINTER  -> POINTER_AS_INT
- SET_INT_IN_POINTER    -> POINTER_FROM_INT
- GET_UINT_FROM_POINTER -> POINTER_AS_UINT
- SET_UINT_IN_POINTER   -> POINTER_FROM_UINT
2018-09-19 12:12:21 +10:00
Bastien Montagne
4594cc25ac Fix T56720: Lattice: crash on setting points_u/v/w from python.
One need to check that there is something to free, before trying to free it...
2018-09-08 15:29:39 +02:00
Sergey Sharybin
94ec80d21c CCG: Remove number of layers from key
The issue there was that number of layers did not include normals,
while element size counts bytes used by normals. This sounds very
fragile and dangerous to work further. Also, one value can easily
be delivered from another, so it is redundancy going on here.

Possible difference now is that multires subdivision will copy
normals to a higher levels. Shouldn't be big of a problem, since
leaving old normals and updating coordinates is not correct either.
2018-09-05 15:56:50 +02:00
Ray Molenkamp
c13b2a2504 Fix T54152: --env-system-scripts fails on win32 2018-09-05 14:32:19 +10:00
Bastien Montagne
265ec400ab ClosthCollision: fully avoid computing BVHTree when we have no collision objects to test against.
Followup to rBc6bbe6c5aac29, much more elegant solution to the problem. ;)
2018-09-03 17:32:46 +02:00
Bastien Montagne
c6bbe6c5aa Fix (unreported) potentially giant memory leak in Cloth collision solver.
Not freeing its BVHTree in case there were no collision objects,
could quickly lead to hundreds of MB of memleak!
2018-09-03 15:30:33 +02:00
Campbell Barton
0ddf3e110e Cleanup: comment blocks 2018-09-02 18:51:31 +10:00
Sergey Sharybin
df62deb0a7 Remove CCGDM from PBVH
The statement that PBVH needs to keep track of CCGDM is wrong, PBVH itself
does not care about CCGDM at all, and it's weird for it to carry on this
beast so others can access.

Even more, nobody will actually caring about CCGDM itself, all the usages
were checking whether there is CCGDM or not. This is as good as simply
checking PBVH type.

Tested with an original report T53551 and everything is still stable.
2018-08-31 14:06:26 +02:00
Campbell Barton
39eb051616 Cleanup: indentation 2018-08-30 01:31:20 +10:00
Campbell Barton
3ee0ce27fa Cleanup: style 2018-08-26 20:34:33 +10:00
Bastien Montagne
c5206e5d2f Fix T56506: Different behaviour of Bounds Clamp with positive and negative axis.
Small typo on minus sign position... ;)
2018-08-23 14:55:40 +02:00
Campbell Barton
537bf6af0c RNA: Spline.calc_length() utility function
D1810 by @Matpi w/ edits
2018-08-20 11:23:40 +10:00
Bastien Montagne
932251caea Fix object copying not ensuring validity of material arrays.
Related to T56363, this is not fixing the root of the bug, but ID
copying should always be a good occasion to ensure sanity of our data
(and error checking is always better than a crash!).
2018-08-14 14:06:42 +02:00
Campbell Barton
c29c426925 Cleanup: use braces w/ particle loop macros 2018-08-14 10:14:05 +10:00
Bastien Montagne
798a83e35f Cleanup: avoid too close namings, prone to typo mistakes! 2018-08-13 13:47:06 +02:00
Bastien Montagne
0aefef7f8f Fix T56224: Blender2.8 will force a quit when trying to open a scene containing clip track created by blender 2.79.
Beautiful example of typo going unoticed and firing back up in totally
unexpected place years later. Guess nobody actually duplicated a Clip
data-block before! :P

Most likely own fault, during refactor of ID copying code.
2018-08-13 13:43:35 +02:00
Bastien Montagne
844b40b0c1 Fix T56344: Crash when used Twist for Emitter type of Particles System.
That effect is NOP with emitter particles anyway...
2018-08-13 11:57:18 +02:00
Campbell Barton
bc63d6f39a Fix T55095: Undo crash w/ linked library data 2018-08-08 19:16:43 +10:00
Campbell Barton
b496bf022b Fix T54584: Crash w/ image undo
Using accumulation undo type (eg painting)
as the first undo step, broke code which adds an initial memfile undo.
2018-08-08 17:12:44 +10:00
Campbell Barton
f4379f8b91 Use Ctrl Snap to seconds w/ play-head drag
D3056 by @alourenco
2018-07-30 16:16:44 +10:00
Alexander Gavrilov
ec640510a8 Fix T55958: allow the user to select between spring and spring2.
The old springs with damping 1.0 operate in a special way that
is more similar to plastic deformation than a spring. Some users
rely on that, so let the user choose which implementation to use.
This also restores full backward compatibility with 2.79.

Reviewers: sergof

Differential Revision: https://developer.blender.org/D3544
2018-07-24 10:10:48 +03:00
Bastien Montagne
bb98e83b99 Fix T55668: Volume Keyframe on Cut-ted Metastrip.
We actually still had cases of Meta strip duplication resulting in
non-unique strip names. Quiet surprising this went unoticed for so long. :(

Fixed that bug, and think it was last one (at least, no other case of
SEQ_DUPE_UNIQUE_NAME usage should be broken, I think...), and raised
subversion and updated doversion to run uniquename check on strips on
all previous fileversions.

Note: will have to do that again when merging in 2.8...
2018-07-23 17:42:55 +02:00
Bastien Montagne
710a059549 Cleanup: Move 'WAVEFORM_LOADING' of sounds from flags to tags.
This is purely runtime data, so move it to new tags. ;)
2018-07-20 12:11:34 +02:00
Bastien Montagne
f48e81e720 Fix T55414: waveforms are reprocessed when undoing
Add new tag to bSound (runtime flags), and make read code to set a 'no
reload waveform' new tag, since it uses a mapping to get existing
waveform in undo case...
2018-07-20 12:01:38 +02:00
Alexander Gavrilov
0bf8096501 Resolve the opposite vector ambiguity in Damped Track constraint.
Damped Track by specification attempts to arrive at the desired
direction via the shortest rotation. However with opposite vectors
there are infinitely many valid 180 degree rotations. Currently
it gives up and does nothing.

I think that it would be more reasonable to resolve the ambiguity
arbitrarily, so that Damped Track won't have a weird dead zone.
To make it more predictable I use a local axis.

In addition, the singularity area vicinity has some floating
point precision problems that result in significant jitter.
This applies workarounds for two causes of instability.

Differential Revision: https://developer.blender.org/D3530
2018-07-19 17:58:27 +03:00
L. E. Segovia
5078b9d2d0 Cycles: add Principled Hair BSDF.
This is a physically-based, easy-to-use shader for rendering hair and fur,
with controls for melanin, roughness and randomization.

Based on the paper "A Practical and Controllable Hair and Fur Model for
Production Path Tracing".

Implemented by Leonardo E. Segovia and Lukas Stockner, part of Google
Summer of Code 2018.
2018-07-18 13:59:06 +02:00
Stefan Werner
bdda0964e0 Compositor: Cryptomatte compositing node.
This patch adds a new matte node that implements the Cryptomatte specification.
It also incluces a custom eye dropper that works outside of a color picker.
Cryptomatte export for the Cycles render engine will be in a separate patch.

Reviewers: brecht

Reviewed By: brecht

Subscribers: brecht

Tags: #compositing

Differential Revision: https://developer.blender.org/D3531
2018-07-18 13:03:34 +02:00
Bastien Montagne
b85be88655 Fix (IRC-reported) wrong usercount handling of deprecated IPO datablocks.
versionning code would unref those twice... Reported by @ßergey on IRC, thanks!
2018-07-16 22:29:26 +02:00
Sergey Sharybin
1e1c858cf1 Cleanup: Remove obscure flag which was only used for read in subsurf code
Some sort of rudiment from many years ago, is never set by 2.5x code.
2018-07-16 16:15:57 +02:00
Sergey Sharybin
72d1fb9934 Cleanup: Use const qualifier for UV vertex map 2018-07-16 15:58:12 +02:00
Sergey Sharybin
20f3cbfb78 Cleanup: More clear naming in UV vertex/element mappings
Also use unsigned short for loop index within a polygon for UV vertex
mapping, which matches UV element mapping.
2018-07-16 15:44:43 +02:00
Campbell Barton
f4213c1408 Cleanup: id-property API use
Also clarify comments.
2018-07-13 10:51:49 +02:00
Campbell Barton
fb5597540d Cleanup: right shift arguments 2018-07-13 08:36:10 +02:00
Campbell Barton
e77d2b4e3f Cleanup: remove legacy mesh save support
This was used for saving files for Blender 2.6x.
2018-07-12 21:35:57 +02:00
Bastien Montagne
59b4c67536 Minor cleanup to logic in BKE's imbuf releasing code. 2018-07-11 14:32:06 +02:00
Sergey Sharybin
c17cb50ae2 OpenSubdiv: Make more flexible C-API to specify FVar interpolation 2018-07-10 14:40:45 +02:00
Campbell Barton
62fbb7d4a1 Empty Object: Center images by default 2018-07-06 10:05:37 +02:00
Campbell Barton
d56b90705e BKE_addons: utility to remove by name 2018-07-06 07:55:29 +02:00
Campbell Barton
b88e51dd55 Cleanup: use bool for poll functions 2018-07-02 11:51:31 +02:00
Campbell Barton
ddee0931b8 RNA: use bool for boolean RNA types
We were using int's for bool arguments in BKE,
just to avoid having wrapper functions.
2018-07-01 15:57:59 +02:00
Campbell Barton
b372766816 Cleanup: trailing newlines 2018-06-29 09:23:51 +02:00
Campbell Barton
b633d760a2 Cleanup: style 2018-06-27 22:32:52 +02:00
Sergey Sharybin
6cd0484de8 CMake: Make language explicit for per-file strict flags removal 2018-06-22 14:40:00 +02:00
Bastien Montagne
101fd7ec06 Tweak new BKE_id_is_in_global_main to accept NULL pointer (and consider them as valid). 2018-06-22 12:26:45 +02:00
Bastien Montagne
1870a1adc7 BKE_library: Add func to check an ID is actually in G_MAIN database. 2018-06-22 11:37:08 +02:00
Bastien Montagne
fd48e685c3 Cleanup: remove some G.main from BKE's node.c
Validate some cases using G_MAIN instead (I don't think we want to work
on any other Main than G.main one when registering/unregistering nodes
etc.).

And when freeing, all ID not in Main shall now be tagged accordingly, so
we *should* not need to do that stupi search over all ntrees in G.main
to check wether we have to free it ourself or not!
2018-06-20 12:27:26 +02:00