Commit Graph

67383 Commits

Author SHA1 Message Date
Clément Foucault
21fedfbca0 Fix T59482: Creating 2 Particle systems breaks the app 2019-01-14 23:43:17 +01:00
Harley Acheson
84c06e996a UI: indent subpanel headers more.
Differential Revision: https://developer.blender.org/D4206
2019-01-14 20:48:15 +01:00
Christopher Peerman
4693207918 Windows: add support for Windows Ink.
Before this Blender always needed the Wintab driver. This adds support for the
native pressure API in Windows 8+, making it possible to get pressure sensitivity
on e.g. Microsoft Surface hardware without any extra drivers.

By default Blender will automatically use Wintab if available, and if not use
Windows Ink instead. There is also a new user preference to explicitly specify
which API to use if automatic detection fails.

Fixes T57869: no pressure sensitivity with Surface pen or laptop.

Code by Christopher Peerman with some tweaks by Brecht Van Lommel.

Differential Revision: https://developer.blender.org/D4165
2019-01-14 20:48:11 +01:00
Clément Foucault
6f9e3e9d33 Fix T60476 Loose vertices only partially drawn
Was caused by a missing vbo attachement.

Also fix said Vbo refreshing when selecting.
2019-01-14 18:33:07 +01:00
Clément Foucault
209afa28c6 Object Mode: Outlines: Add support for thicker outline
Base outline is 2px wide (because of how we detect them).
And since inflating this outline will only produce outlines that are 2*x
thick we map the UI scalling and the outline width setting to the closest
match.

Do note that thicker outlines have a performance cost since they need more
texture fetches and passes.

This fixes T60252 3D View Outline Width not working
2019-01-14 18:33:07 +01:00
Clément Foucault
065bdc0333 GPUMaterial: Cleanup 2019-01-14 18:33:07 +01:00
Clément Foucault
dd5602a1e5 Fix T60332: Lattice objects do not display properly in Edit mode
This was caused by wires not having alpha by default, making them disapear
with MSAA.
2019-01-14 18:33:07 +01:00
Sebastian Koenig
630a7e73bc Fix incorrect individual origins icon in clip editor.
Differential Revision: https://developer.blender.org/D4020
2019-01-14 17:36:22 +01:00
Alexander Gavrilov
de1d3e5f5f NLA: implement a new blending mode that intelligently combines actions.
The existing Add and Multiply blending modes have limited usability,
because the appropriate operation for meaningfully combining values
depends on the channel. This adds a new mode that chooses the operation
automatically based on property settings:

- Axis+Angle channels are summed, effectively averaging the
  axis, but adding up the angle. Default is forced to 0.

- Quaternion channels use quaternion multiplication:

  result = prev * value ^ influence

- Scale-like multiplicative channels use multiplication:

  result = prev * (value / default) ^ influence

- Other channels use addition:

  result = prev + (value - default) * influence

Inclusion of default in the computation ensures that combining
keyframed default values of properties keeps the default state,
even if the default isn't 0 or 1.

Strips with this mode can be keyframed normally in Tweak mode,
except that for quaternion rotation keyframing always inserts
all 4 channels, and the channel value sliders on the left side
of Graph/Action editors won't insert keys without Auto Key.
Quaternion keys are also automatically normalized.

Differential Revision: https://developer.blender.org/D4190
2019-01-14 19:14:28 +03:00
Alexander Gavrilov
9c1a961dc4 Keyframing: refactor insertion code to allow property-global NLA tweaks.
Supporting a strip blending type that treats quaternions as a unit
also means being able to adjust all sub-channels as a unit when
inserting keyframes. This requires refactoring keyframe insertion
code to retrieve array property values for all channels at once,
before iterating over the indices being inserted.
2019-01-14 19:14:28 +03:00
Brecht Van Lommel
1665278c14 Fix the active sequencer strip not standing out from selected ones.
Set outline contrast back to 2.7 values.
2019-01-14 16:08:26 +01:00
Harley Acheson
1af9599aca UI: fix misaligned eyedropper icon in button.
Differential Revision: https://developer.blender.org/D4183
2019-01-14 15:28:04 +01:00
Harley Acheson
06f7b6827d UI: fix panel header contents alignment.
The contents is now properly centered at all zoom levels.

Differential Revision: https://developer.blender.org/D4176
2019-01-14 15:28:01 +01:00
Harley Acheson
ed843774a8 UI: fix horizontal scrollbar overlapping last item.
Differential Revision: https://developer.blender.org/D4202
2019-01-14 15:20:31 +01:00
Jacques Lucke
b5b6555768 cleanup last commit 2019-01-14 14:13:39 +01:00
Jacques Lucke
ec3e2b0ce5 Fix T60304, T60301: setting error message in bevel modifier results in double free 2019-01-14 14:10:33 +01:00
Brecht Van Lommel
67c5412708 Fix T60441: entering hex color in picker gives wrong result. 2019-01-14 13:09:06 +01:00
Campbell Barton
2e3e94c796 3D View: don't override animation template view color
D4198 by @charlie w/ edits.
2019-01-14 18:12:13 +11:00
Campbell Barton
417cd20257 Cleanup: unused function 2019-01-14 18:04:10 +11:00
Richard Antalik
b3dbe17658 Add font selection to VSE text strips
Allows users to select a font for text strips in the video sequence editor.

Related: 3610f1fc43 Sequencer: refactor clipboard copy to no longer increase user count.

Reviewed by: Brecht

Differential Revision: https://developer.blender.org/D3621
2019-01-13 21:57:09 -08:00
Richard Antalik
c450461e68 Fix crash on scene unlink
Reviewed by: Brecht

Differential Revision: https://developer.blender.org/D4200
2019-01-13 21:57:08 -08:00
Richard Antalik
e1c4dc7a64 Fix drawing metadata
ImBuf was freed prior to drawing metadata.

Reviewed by: Brecht

Differential Revision: https://developer.blender.org/D4170
2019-01-13 21:57:08 -08:00
Richard Antalik
fad5232f8a Fix FPS meter not showing properly with no input
Reviewed by: Brecht

Differential revision: https://developer.blender.org/D4136
2019-01-13 21:57:07 -08:00
Campbell Barton
f91b21f85b Cleanup: move comments above definitions
For clang-format not to wrap definitions.
2019-01-14 16:30:43 +11:00
Campbell Barton
a1d73d03eb Cleanup: move comments above definitions
For clang-format not to wrap definitions.
2019-01-14 16:20:55 +11:00
Campbell Barton
63ee378fa9 Cleanup: move comments above definitions, use enum
For clang-format not to wrap definitions.
2019-01-14 15:58:40 +11:00
Campbell Barton
af4ab8c6a1 Fix T60248: Crash duplicating collections 2019-01-14 15:36:12 +11:00
Campbell Barton
65b82e09d9 Fix T57852: Mesh X Mirror option not working
D3869 by @lichtwerk w/ own edits
2019-01-14 15:14:39 +11:00
Campbell Barton
9c7adcfd8b Fix T60388: Warning entering text edit mode 2019-01-14 14:16:08 +11:00
Campbell Barton
a980b2f455 Fix message bus ID remapping 2019-01-14 14:08:40 +11:00
Campbell Barton
723e469686 Fix T60267: Assert manipulating a collection 2019-01-14 13:59:56 +11:00
Campbell Barton
8a2d48d928 Cleanup: move comments above definitions
For clang-format not to wrap definitions.
2019-01-14 12:43:19 +11:00
Campbell Barton
9390b2e645 Cleanup: compiler warnings 2019-01-14 11:42:28 +11:00
Alexander Gavrilov
2826c2be54 NLA: ignore time range when evaluating a raw action.
When editing an action without a strip, or tweaking a strip without
time mapping enabled or supported, the extents of the virtual strip
can't be controlled and are purely derived from keys in the action.

Thus, cutting off evaluation of the action at these arbitrary points
gets in the way of observing the natural extrapolation of the F-Curves
and thus appears to be a mis-feature.

With this change non-mapped actions are evaluated with infinite
range, exactly like they are handled without NLA, unless extend
mode is set to Nothing.
2019-01-12 14:10:33 +03:00
Antonioya
5e356cc5c8 GP: Cleanup missing brackets 2019-01-12 08:36:00 +01:00
Dalai Felinto
ce3475f747 Viewport: Stereoscopy drawing is back
The viewport stereoscopy support helpers are finally ported to 2.80.

We now can scale the camera and the "stereo cameras" will scale
in the viewport as well (unlike 2.7x).

At the moment I disabled the drawing of the camera frame when
stereo is selected and you are looking through the camera.

It is to be fixed later, but for now it draws the border wrong.
In 2.79 this was not a problem because the camera frame was drawn
afterwards as a hack.

Viewport > Stereoscopy:
* Cameras
* Convergence plane
* Convergence plane alpha
* Stereoscopy volume
* Stereoscopy volume alpha
2019-01-11 21:51:15 -02:00
Dalai Felinto
ba89b69ebd BKE_camera_multiview_model_matrix: Add _scaled version
For drawing it is useful to have the non-normalized version of the matrix.
So we can scale up the cameras drawing accordingly.
2019-01-11 21:51:15 -02:00
Dalai Felinto
9f6e09bd8c Drawing API: shgroup_instance and shgroup_instance_alpha clarification
shgroup_instance_alpha was getting a color[4] but would only use the
alpha defined upon creation of the shading group.

This was very limiting since it wouldn't allow for different instances
to have different alpha values.

Patch made with Clément Foucault (he made the code of it, while I fixed
all the parts of the code that were relying on shgroup_instance_alpha.
2019-01-11 21:51:15 -02:00
Dalai Felinto
0bd20aa7df Fix T60328: Stereoscopy Convergence Plane broken
The original issue is that we were changing the camera shiftx
temporarily for the stereoscopic calculation. However we are using the
evaluated object when calculating the projection matrix.

Note: Camera framing drawing for stereo still seems to be broken.
But the viewport itself is now correct.
2019-01-11 21:51:15 -02:00
Bastien Montagne
47be4e9a33 Fix T60401: Shape key's from pointer being set to evaluated CoW ID.
Not sure exactly why this happened for 'apply as shape' and not in other
cases (did not took time to fully trace what happens there). But in any
case, `BKE_key_evaluate_object_ex()` can be called from a fair amount of
places, including during depsgraph evaluation, so setting back key's
owner here is plain wrong in CoW era.
2019-01-11 23:16:27 +01:00
Bastien Montagne
b56b41d51f Fix T60402: Increased data.users value, when running: C.active_object.to_mesh(C.depsgraph, True) - on curve.
More like a band-aid than anything else really, that code is horribly
weak and need to be fully re-written at some point (putting all those
temp data-blocks fully outside of bmain...). But for now should do.
2019-01-11 20:26:52 +01:00
Bastien Montagne
7aecb018f6 =Fix unused func warning in GP code... 2019-01-11 20:14:37 +01:00
Bastien Montagne
1b18e0d8f6 Fix syntax error breaking compile in GP code.
Seriously… Build your code before committing!!!
2019-01-11 20:14:37 +01:00
Clément Foucault
cd41570b55 Revert "Fix T57371: Generative modifiers in editmode display vertex group weights ..."
This reverts commit 6dbfd7f6d6.
2019-01-11 20:09:42 +01:00
Clément Foucault
00d2237d2a Fix T57371: Generative modifiers in editmode display vertex group weights
In a better way...

6dbfd7f6d6 would make the final vertex weights always calculated in
edit mode. Now it's only if the option is enabled.
2019-01-11 20:09:42 +01:00
Clément Foucault
9f51fc656e EditUV: Only clear data VBO when selection changes
This is a small optimisation that make UV selection faster.
2019-01-11 20:09:42 +01:00
Bastien Montagne
ee34275e7d Merge branch 'blender2.7' 2019-01-11 20:03:42 +01:00
Bastien Montagne
1ded3d2f7c Fix T55668: Volume Keyframe on Cut-ted Metastrip (re-doing the fix in better way).
Fix T60194: Sequencer cut loses animation data for the right strip.

Fixing the first also fixes the second. First attempt was delaying
uniquename check at a later step of cut process, after everything had
been duplicated. While this fixed first issue, second one became even
more proeminent (it become active for all strips, and not only
video/audio movie strips in meta's).

So instead, passing along the list of (new) sequences, so that duplicated
seqs can be put there immediately, before checking for unique names,
henceforth ensuring even strips inside meta's get properly handled.
2019-01-11 20:01:01 +01:00
Bastien Montagne
c97794520f Revert "Fix T55668: Volume Keyframe on Cut-ted Metastrip."
This partially reverts commit bb98e83b99.
It fixed 'strips having same name' issue, but broke handling of
animation then. Need to find a better way to handle this.
2019-01-11 19:49:06 +01:00
Antonioya
bb9c9d0eaa GP: New Cutter, Constraints and Segment selection
This commit groups a set of new tools that were tested in grease pencil object branch before moving to master. We decide to do all the development in a separated branch because it could break master during days or weeks before the new tools were ready to deploy.

The commit includes:

- New Cutter tool to trim strokes and help cleaning up drawings.

- New set of constraints and guides to draw different types of shapes. All the credits for this development goes to Charlie Jolly (@charlie), thanks for your help!

- Segment selection mode to select strokes between intersections.

- New operator to change strokes cap mode.

- New option to display only keyframed frames. This option is very important when fill strokes with color.

- Multiple small fixes and tweaks.

Thanks to @pepeland and @mendio for their ideas, tests, reviews and support.

Note: Still pending the final icons for Cutter in Toolbar and Segment Selection in Topbar. @billreynish could help us here?
2019-01-11 19:21:56 +01:00