Commit Graph

15848 Commits

Author SHA1 Message Date
Jacques Lucke
5fa749ace2 Fix T59536: safe area values were swapped
Reviewers: brecht

Differential Revision: https://developer.blender.org/D4097
2018-12-18 15:20:42 +01:00
Philipp Oeser
37c2382a49 Merge branch 'master' into blender2.8 2018-12-18 15:10:35 +01:00
Philipp Oeser
d542e55b09 Fix T55105: Smoke Emission from particles was ignoring lattice deformer
on the particles
2018-12-18 14:58:04 +01:00
Sergey Sharybin
6ccf961915 Fix T59478: Information Bar Missing Data when in Sculpt Mode
Display statistics from CCG structure.

This makes values to be different from what is shown in object
mode, since CCG is operating on individual grids, and object
mode will stitch those grids. But on another, those values from
CCG is what sculpt mode is actually "sees" or "uses".

The number of faces should be the same in both sculpt and object
modes.
2018-12-18 14:22:12 +01:00
Sergey Sharybin
cef41d0144 Fix T59496: Movie Clip Editor does not display metadata 2018-12-18 12:28:44 +01:00
Brecht Van Lommel
a3e4c333b9 Transform: when snap affect is off for a transform mode, ignore snap settings entirely.
Ref D4022.
2018-12-18 12:14:38 +01:00
Campbell Barton
372fd07a8e Fix paste/append w/ local-view
Paste in local-view wasn't setting local-view bits.
2018-12-18 16:23:38 +11:00
Campbell Barton
879c966598 Transform: option to use incremental snapping
This resolves this issue where users would enable a snapping mode
besides incremental (vertex for eg), then notice strange behavior w/
rotate and scale.
While this ability can be useful, it's quite an obscure use case.

Now changing snap-modes keeps rotate and scale using incremental snap,
with the option for these modes to be affected by other snapping modes.

D4022 by @kioku w/ own minor edits.
2018-12-18 10:08:23 +11:00
Campbell Barton
54f9e142df RNA: Add Mesh.count_selected_items()
Needed for context menu checks.
2018-12-18 07:36:29 +11:00
Sergey Sharybin
60a5559b6c Correct modifier stack validation 2018-12-17 12:44:48 +01:00
Sergey Sharybin
a84c823b89 Fix T58652: Crash editing shape keys weirdness with instances
This is a second attempt to get the crash fixed. The original fix
worked, but it was reverted by d3e0d7f082.

Now the logic goes as:

- All pointers which we can not have shared (the ones which are
  owned by the runtime) are cleared.
- The rest of runtime stays untouched.

This seems to be enough to keep particles happy.
2018-12-17 12:33:37 +01:00
Campbell Barton
7fac1bfc20 Context: remove active_gpencil_brush
We don't have this for other painting modes,
no need for a special case here.
2018-12-17 17:17:43 +11:00
Campbell Barton
21c1c3c59c 3D View: empty image option to show front/back
Only back was possible.
2018-12-17 14:49:16 +11:00
Campbell Barton
d72d2d4133 DNA: clear / remove deprecated flags
- Clear deprecated flags for ID's:
  Scene, Sequence, World, Object & Mesh.
- Clear deprecated flags for Spaces: outliner, 3D view & image.
- Remove unused `Mesh.drawflag`
- Remove unused `USER_ALLWINCODECS`, `USER_MMB_PASTE`.
- Remove `V3D_SOLID_TEX` & `V3D_ZBUF_SELECT` - used in a few areas.
- Flip `Object.empty_image_visibility_flag`
  (avoids do-version on each new flag)
- Rename 'Backside' -> 'Back' in context of drawing - showing 'Back'
  makes sense.
2018-12-17 13:55:06 +11:00
Antonioya
351f537fa8 GP: New Curve primitive and other primitive improvements
This commit adds support for new curve tool and adds more functionalities to the existing primitives, including new handles, editing, stroke thickness curve, noise, preview of the real stroke, etc.

Thanks to @charlie for his great contribution to this improvement.
2018-12-15 17:21:47 +01:00
Alexander Gavrilov
de662e7cd3 NLA: insert keyframes correctly for strips with non-Replace mode.
NLA strips support using the keyframe values in a variety of ways:
adding, subtracting, multiplying, linearly mixing with the result
of strips located below in the stack. This is intended for layering
tweaks on top of a base animation.

However, when inserting keyframes into such strips, it simply inserts
the final value of the property, irrespective of these settings. This
in fact makes the feature nearly useless.

To fix this it is necessary to evaluate the NLA stack below the
edited strip and correctly compute the raw key that would produce
the intended final value, according to the mode and influence.

Differential Revision: https://developer.blender.org/D3927
2018-12-14 22:19:18 +03:00
Sergey Sharybin
d3e0d7f082 Fix broken particle distribution after recent fix 2018-12-14 17:33:54 +01:00
Antonioya
780f0f646d GP: Rename CTX and OB modes
Part of T59335.
2018-12-14 16:52:12 +01:00
Sergey Sharybin
e67f7e922c Attempt to sanitize node tree deletion
Make it explicit when freeing node tree which is owned by other
ID or when freeing node tree which is outside of a bmain.
2018-12-14 15:29:16 +01:00
Sergey Sharybin
1e18efa1df Fix T59220: Deleting object causes blender 2.8 to crash
The issue was caused by a special code in node tree freeing function
which will free extra fields in the case when tree is not in bmain.
This is how old code was dealing with "nested" trees, but is now
making behavior different from other datablocks. This is exactly
what was confusing copy-on-write logic.

Ideally, ntreeFreeTree() need to behave same as all other datablocks,
ad freeing of data of nested trees should be up to the owner of the
tree (this way it's all explicit and does not depend on check of
some special flag.
2018-12-14 14:53:29 +01:00
Dalai Felinto
0e76ff18b5 Fix T58351: Make Single User crashes 2018-12-14 09:20:56 -02:00
Dalai Felinto
dc4c1be1a4 New object API function : BKE_object_eval_reset()
This restores the object->data to a non-modifier evaluated state.

So this allow us to change evaluated object modifier stack directly and
get BKE_mesh_new_from_object() for the evalauted object.
2018-12-14 08:45:54 -02:00
Sergey Sharybin
7e6288cfe6 Fix T58652: Crash editing shape keys weirdness with instances 2018-12-14 11:33:18 +01:00
Campbell Barton
dd4c87cd04 Merge branch 'master' into blender2.8 2018-12-14 11:09:42 +11:00
Campbell Barton
6e2d9ef2db Cleanup: naming (mean -> median) see T47811 2018-12-14 10:54:11 +11:00
Campbell Barton
a3375729f8 Cleanup: macro hygiene, style, doxy comments 2018-12-13 23:04:14 +11:00
Dalai Felinto
4d395a34dc Silence warning (const) 2018-12-13 09:18:17 -02:00
Campbell Barton
7d4d9e9dbd Cleanup: style 2018-12-13 12:30:38 +11:00
Campbell Barton
3b95b521fc Cleanup: replace ifdef w/ stub 2018-12-13 12:21:45 +11:00
Campbell Barton
8c08efd1f7 Fix building w/o bullet 2018-12-13 06:38:55 +11:00
Bastien Montagne
80ad2f8cf6 Fix (unreported) Broken rigidbody requirements when adding objects to a RB collection.
We have to ensure objects get expected RB data, when they are added to a
RB collection...
2018-12-12 17:21:37 +01:00
Sergey Sharybin
b60aedc14c Fix T58450: Skin modifier not working if applied after subsurf 2018-12-12 15:07:03 +01:00
Campbell Barton
49490e5cfb Merge branch 'master' into blender2.8 2018-12-12 13:02:09 +11:00
Campbell Barton
e757c4a3be Cleanup: use colon separator after parameter
Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.
2018-12-12 12:50:58 +11:00
Campbell Barton
16fc62e15f Docs: correct doxy comments 2018-12-12 12:18:52 +11:00
Mal Duffin
4bf2530952 FFmpeg: enable multi-threaded encoding of multiple frames, for a ~20% speedup.
This enables ffmpeg to encode each frame in its own thread. However in most
cases Blender does not pass frames to ffmpeg fast enough to actually use the
more than two threads. In some tests the speed was measured to be about 20%.
If other parts of the video sequencer get optimized, this should improve.

Differential Revision: https://developer.blender.org/D4031
2018-12-11 20:44:10 +01:00
Alexander Gavrilov
48a3f97b23 RNA: provide access to bone parent transform math from Python.
Applying the effect of bone parent is much more complicated than
simple matrix multiplication because of the various flags like
Inherit Scale. Thus it is reasonable to provide access to this
math from Python for complicated rest pose related manipulations.

The simple case of this is handled by Object.convert_space, so
the new method is only needed for complex tasks.

Differential Revision: https://developer.blender.org/D4053
2018-12-11 20:40:51 +03:00
Sergey Sharybin
48225a4658 Proper fix for building without Bullet
Stick to an existing way of dealing with disabled feature.
2018-12-11 12:37:04 +01:00
Campbell Barton
c7ec1fa5e6 Cleanup: use BKE_object_* prefix for object API
Also minor style cleanup.
2018-12-11 15:09:09 +11:00
Campbell Barton
7fe3d1e7d7 Fix T57934: non-empty duplicators don't render
Convert non-empty duplicators to empties.
2018-12-11 15:02:58 +11:00
Campbell Barton
8216e9f8a2 DNA: version patch Camera.drawsize to twice it's value
Draw size represented half the actual size used.
2018-12-11 14:42:50 +11:00
Campbell Barton
65b930af39 Merge branch 'master' into blender2.8 2018-12-11 13:10:56 +11:00
Campbell Barton
908b6d8be3 Fix T52051: Orthographic camera display size error
It was impractical to create a small orthographic camera with a usable
size in the view-port.

No longer scale the draw-size by ortho-size.
2018-12-11 13:05:32 +11:00
Antonioya
bcb5293b9b GP: Enable Object Onion Skin by default
Now, the main switchis on, and the layer onion skin is off.
2018-12-10 20:17:49 +01:00
Sergey Sharybin
9fa408f51b Fix T58928: New Action causes crash when duplicating bone
Basically, armature update is not supposed to be run in edit mode.
This worked in master and new dependency graph because nobody was
tagging armature for an update.

But with all those copy-on-write and other things we can't ensure
tag doesn't happen (and we shouldn't). So now we ensure unwanted
code is not run from the code itself.

P.S. Deeper reason of this goes to the optimization of not updating
pose channels when in edit mode. Since pose doesn't define anything
there we don't want to be bothered with a pose update after every
operation which changes it.
2018-12-10 15:59:15 +01:00
Sergey Sharybin
5bd485844c Cleanup: Variable naming 2018-12-10 15:54:45 +01:00
Sergey Sharybin
c2b0d8b6d6 Fix T57633: Particle texture update problem
Textures are now hooked up to the RESET operation of particle
settings, which ensures particles being re-distributed when
texture is changed.

This is limited to a direct user modifications, which matches
old behavior in 2.79.
2018-12-10 15:11:57 +01:00
Bastien Montagne
fc52d51d73 Cleanup: Someone forgot again to do the versioning_280 handling when bumping subversion.
Seriously... There is no point in having those subversions if one does
not take advantage of them to reduce doversion work on file load! Now we
have to raise subversion again just for that. :(
2018-12-10 15:10:29 +01:00
Bastien Montagne
7f98ba4725 Proper fix for rigidbody collections's objects missing rb data.
We cannot let those data be generated on-the-fly in RBW evaluation
anymore, since those would be added to CoW eval object and never ported
back to orig objects.

We *could* get orig objects in eval code, of course, but as in
constratints, this is not really threadsafe and future proof, depsgraph
evaluation should really write back to orig data as little as possible.

So instead, add code to ensure required data is generated to objects
when their collection is added to rigidbody world.

Note that we *may* want to clean that up once collection is no more used
by RB? On the other hand, people might want to keep those data around to
be able to switch between different setups easily... So think it's OK to
keep them at least for now.
2018-12-10 15:10:29 +01:00
Campbell Barton
51dbf8d71a Fix T59087: Empty meshes have large bound-box
Initialize to default values for meshes w/o vertices,
note that zeroing for BKE_object_boundbox_calc_from_mesh
matches old derived mesh code.
2018-12-10 19:32:35 +11:00