blender.git
3 months agoMerge branch 'blender2.7'
Sergey Sharybin [Mon, 4 Mar 2019 15:54:19 +0000 (16:54 +0100)]
Merge branch 'blender2.7'

3 months agoFixup for fix for OSX build using a build folder name with spaces
Dalai Felinto [Fri, 1 Mar 2019 20:07:06 +0000 (17:07 -0300)]
Fixup for fix for OSX build using a build folder name with spaces

Bug introduced on: 1f22e3f311e74031c3c01714117d759d3e3de3f1.
This was making regular Mac builds to fail, where they were not failing before.

Tested by William Reynish.

3 months agoFix T62175: Crash on Undo.
Bastien Montagne [Mon, 4 Mar 2019 15:44:33 +0000 (16:44 +0100)]
Fix T62175: Crash on Undo.

Again nodetree broken code... as usual...

3 months agoFix T62134: duplicating a material won't update node group's node tree user count...
Bastien Montagne [Mon, 4 Mar 2019 15:14:36 +0000 (16:14 +0100)]
Fix T62134: duplicating a material won't update node group's node tree user count anymore.

Yet again we have to twist and curl like insane worms to cope with
IDs-not-in-main infamous issue... :(

3 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Mon, 4 Mar 2019 15:08:09 +0000 (16:08 +0100)]
Merge branch 'blender2.7'

3 months agoUI: make text editor Text menu consistent with menus for .blend and images.
Brecht Van Lommel [Mon, 4 Mar 2019 14:24:23 +0000 (15:24 +0100)]
UI: make text editor Text menu consistent with menus for .blend and images.

3 months agoFix missing image editor redraw when reloading image through API.
Brecht Van Lommel [Mon, 4 Mar 2019 15:04:24 +0000 (16:04 +0100)]
Fix missing image editor redraw when reloading image through API.

3 months agoFix Cycles animation denoising giving black pixels for some outliers.
Brecht Van Lommel [Mon, 4 Mar 2019 15:01:11 +0000 (16:01 +0100)]
Fix Cycles animation denoising giving black pixels for some outliers.

The denoising code expects the output buffer to be filled with the noisy
image, which was not the case for standalone denoising.

3 months agoTexture Paint: round corners of dilated UV seams
Luca Rood [Mon, 4 Mar 2019 14:53:36 +0000 (01:53 +1100)]
Texture Paint: round corners of dilated UV seams

This fixes the issue of long spikes on sharp corners by rounding them,
guaranteeing that the bleed will never exceed the bleed distance
set by the user in any part of the mesh.

See: D4437

3 months agoFix texture paint UV dilation algorithm
Luca Rood [Mon, 4 Mar 2019 14:24:47 +0000 (01:24 +1100)]
Fix texture paint UV dilation algorithm

Two aspects are addressed:

- Correct computation of dilation distance,
  so that dilated boundaries remain parallel to the original boundaries
  (and with the actual distance specified as bleed distance).

- Dilate with regard to adjacent seams
  instead of adjacent triangle edges, for a more correct result.
  This is especially important in the case of concave shapes,
  where spikes could overlap with actual geometry.

See: D4436

3 months agoFix early output check in movie clip prefetch
Sergey Sharybin [Mon, 4 Mar 2019 14:22:14 +0000 (15:22 +0100)]
Fix early output check in movie clip prefetch

Was preventing prefetching when clip is offset to a
higher scene frame number than a duration of the clip.

3 months agoFix/workaround T62167: Random crash when displaying wireframes.
mano-wii [Mon, 4 Mar 2019 13:18:57 +0000 (10:18 -0300)]
Fix/workaround T62167: Random crash when displaying wireframes.

Some old AMD drivers crash when a vbo with stride 1 is used a few times.
I have not found a real solution to this problem. So the solution was to use a vbo with stride 4 (which in theory is less efficient and takes up more memory space).

3 months agoRevert "DNA: optimize data reconstruction"
Campbell Barton [Mon, 4 Mar 2019 13:20:31 +0000 (00:20 +1100)]
Revert "DNA: optimize data reconstruction"

This reverts commit 657205530cc680012734200a8babd6232be5ee92.

This caused an T62181, looking into fix but revert for now.

3 months agoFix T62140: GPencil line segment disappears
Charlie Jolly [Mon, 4 Mar 2019 12:13:35 +0000 (12:13 +0000)]
Fix T62140: GPencil line segment disappears

Remove code for when edge count is 2.

3 months agoOutliner: better support for paintcurves ('Blender File' view)
Philipp Oeser [Mon, 4 Mar 2019 10:51:11 +0000 (11:51 +0100)]
Outliner: better support for paintcurves ('Blender File' view)

- paintcurves were hitting an assert in outliner_add_element()
- missing outliner update when adding a paintcurve
- paintcurves were not showing an icon [they dont have a dedicated icon,
took the one used elsewhere]

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4445

3 months agoCleanup: indentation, style
Campbell Barton [Mon, 4 Mar 2019 11:09:55 +0000 (22:09 +1100)]
Cleanup: indentation, style

3 months agoCleanup: use single quotes for enums
Campbell Barton [Mon, 4 Mar 2019 11:06:23 +0000 (22:06 +1100)]
Cleanup: use single quotes for enums

3 months agoMerge branch 'blender2.7'
Sergey Sharybin [Mon, 4 Mar 2019 11:00:02 +0000 (12:00 +0100)]
Merge branch 'blender2.7'

3 months agoFix bad level calls
Sergey Sharybin [Mon, 4 Mar 2019 10:58:37 +0000 (11:58 +0100)]
Fix bad level calls

3 months agoFix T62009: ԥ abkhazian letter shows as a square in Blender.
Bastien Montagne [Mon, 4 Mar 2019 10:53:29 +0000 (11:53 +0100)]
Fix T62009: ԥ abkhazian letter shows as a square in Blender.

Added all 'Extended Cyrillic' chars I found in DejaVuSans (unfortunately
that one does not have the complete set).

Note: At some point we might want to switch to some more modern solution
than our Frankenstein font (thinking about noto one)...

3 months agoCycles: Store various render stages timings
Sergey Sharybin [Mon, 4 Mar 2019 10:31:20 +0000 (11:31 +0100)]
Cycles: Store various render stages timings

Includes time spent on synchronization and time spent on just
path tracing/denoising.

3 months agoShow metadata for rendered images
Sergey Sharybin [Mon, 4 Mar 2019 10:29:55 +0000 (11:29 +0100)]
Show metadata for rendered images

Previously metadata was only shown for images which are saved
to disk.

This change makes it so that it's possible to see metadata right
after pressing F12.

3 months agoCleanup: Indentation
Sergey Sharybin [Mon, 4 Mar 2019 08:51:36 +0000 (09:51 +0100)]
Cleanup: Indentation

3 months agoAdd Thai language entry (hidden for until we get some translation).
Bastien Montagne [Mon, 4 Mar 2019 09:46:15 +0000 (10:46 +0100)]
Add Thai language entry (hidden for until we get some translation).

3 months agoFix T62113: Color Management Curves CRGB buttons missing
Sebastian Parborg [Mon, 4 Mar 2019 09:44:40 +0000 (10:44 +0100)]
Fix T62113: Color Management Curves CRGB buttons missing

Template was missing a type="COLOR" definition.

3 months agoUI: Add descriptive tooltip to Curve Radius tool
William Reynish [Mon, 4 Mar 2019 09:26:27 +0000 (10:26 +0100)]
UI: Add descriptive tooltip to Curve Radius tool

Was previously just using generic transform tooltip.

3 months agoUI: Rename Shrink/Fatten in curve contextual menu to fit with recent tool name change
William Reynish [Mon, 4 Mar 2019 09:17:45 +0000 (10:17 +0100)]
UI: Rename Shrink/Fatten in curve contextual menu to fit with recent tool name change

3 months agoCleanup: typo in comment
Philipp Oeser [Mon, 4 Mar 2019 09:13:52 +0000 (10:13 +0100)]
Cleanup: typo in comment

spotted by @miclack, thx!

3 months agoFix unreported: Shrink/Fatten in Curve Transform menu fails because it was calling...
William Reynish [Mon, 4 Mar 2019 09:13:49 +0000 (10:13 +0100)]
Fix unreported: Shrink/Fatten in Curve Transform menu fails because it was calling the mesh edit mode operator

3 months agoUI: Move paint context menus to panels
Campbell Barton [Mon, 4 Mar 2019 09:10:11 +0000 (20:10 +1100)]
UI: Move paint context menus to panels

See proposal: T62130

3 months agoTools: Rename Curve Shrink/Fatten to Radius
William Reynish [Mon, 4 Mar 2019 08:50:59 +0000 (09:50 +0100)]
Tools: Rename Curve Shrink/Fatten to Radius

This is fundamentally different from Shrink/Fatten for meshes, because the control points are not moved, only the radius.
Issue raised by Ronan Ducluzeau, name suggested by Campbell Barton

3 months agoIcons: only use macOS override if blender not found
Campbell Barton [Mon, 4 Mar 2019 08:37:46 +0000 (19:37 +1100)]
Icons: only use macOS override if blender not found

Otherwise `make icons_geom BLENDER_BIN=...` doesn't work as documented.

3 months agoDRW: Remove unecessary state changes
Clément Foucault [Mon, 4 Mar 2019 00:29:29 +0000 (01:29 +0100)]
DRW: Remove unecessary state changes

The TODO is old and the issue does not seems to appear anymore.

If bugs emerge from this commit it's most likely to be a bad usage of the
API.

3 months agoDRW: Fix matflag not being updated after first drawcall
Clément Foucault [Mon, 4 Mar 2019 00:14:51 +0000 (01:14 +0100)]
DRW: Fix matflag not being updated after first drawcall

This Fixes T61823: Flickering material problem with eevee

3 months agoFix T62076: Delete Active Scene Freezes Blender.
Bastien Montagne [Sun, 3 Mar 2019 20:59:28 +0000 (21:59 +0100)]
Fix T62076: Delete Active Scene Freezes Blender.

Not sure where that piece of code originates from, but trying to remap
usages of deleted scene to newly active scene in *whole* bmain is
really, really not the thing to do! Just use generic ID deletion code
here, no reason it could not handle the task properly. ;)

3 months agoFix (unreported) missing handling of 'never self' ID pointers in library_query and...
Bastien Montagne [Sun, 3 Mar 2019 20:56:38 +0000 (21:56 +0100)]
Fix (unreported) missing handling of 'never self' ID pointers in library_query and library_remap codes.

Looks like something forgotten at some point, define in callback flags
was there, just not used at all.

Added most obvious cases now (we are probably still missing some), and
proper handling for it in remapping code (when we hit such case, we
'convert' new_id to NULL and go on with it).

Related (as in, exposed by) T62076, but not the actual cause of that bug.

3 months agoFix T62064: Linked object made by Make Links isn't showed in the scene you linked to.
Bastien Montagne [Sun, 3 Mar 2019 20:14:19 +0000 (21:14 +0100)]
Fix T62064: Linked object made by Make Links isn't showed in the scene you linked to.

Usual missing DEG relations rebuild tagging...

3 months agoTweaks to icons for curve shrink/fatten & tilt
William Reynish [Sun, 3 Mar 2019 19:38:22 +0000 (20:38 +0100)]
Tweaks to icons for curve shrink/fatten & tilt

3 months agoTools: Add Randomize to Curve Edit toolbar
William Reynish [Sun, 3 Mar 2019 19:37:47 +0000 (20:37 +0100)]
Tools: Add Randomize to Curve Edit toolbar

3 months agoAnnotations: Make strokes smoother
Antonioya [Sun, 3 Mar 2019 18:55:39 +0000 (19:55 +0100)]
Annotations: Make strokes smoother

When move the mouse/pen very fast, the events were not enough to create smooth strokes.

I have used a simplified version of the same logic used with grease pencil objects to smooth annotations.

3 months agoIcons: Make blender_icons_geom_update.py support macOS
William Reynish [Sun, 3 Mar 2019 18:02:14 +0000 (19:02 +0100)]
Icons: Make blender_icons_geom_update.py support macOS

3 months agoDNA: optimize data reconstruction
Campbell Barton [Sun, 3 Mar 2019 15:33:16 +0000 (02:33 +1100)]
DNA: optimize data reconstruction

Cache the result of DNA_elem_array_size which was being called
for each element when reconstructing each struct.

Also skip padding members during reconstruction.

Gives ~18% overall speedup loading 10_010_A.anim.blend (r3154)
from the spring project.

3 months agoDNA: rename BezTriple alfa to tilt
Campbell Barton [Sun, 3 Mar 2019 14:14:27 +0000 (01:14 +1100)]
DNA: rename BezTriple alfa to tilt

3 months agoCleanup: rename FileData.listbase -> bhead_list
Campbell Barton [Sun, 3 Mar 2019 14:01:52 +0000 (01:01 +1100)]
Cleanup: rename FileData.listbase -> bhead_list

Having the name matching the type isn't so meaningful.

3 months agoUI: subtle outline for negative 3D view gizmo axes
Campbell Barton [Sun, 3 Mar 2019 13:48:34 +0000 (00:48 +1100)]
UI: subtle outline for negative 3D view gizmo axes

Without this they can blend in visually with the backdrop of the gizmo.

3 months agoUI: use grey for 3D view axis gizmo highlight
Campbell Barton [Sun, 3 Mar 2019 13:11:07 +0000 (00:11 +1100)]
UI: use grey for 3D view axis gizmo highlight

Using white with low alpha made it hard to use on a white background.
Since the axes themselves highlight to white.

3 months agoTools: Remove parenthesis from Spin Duplicates tool name
William Reynish [Sun, 3 Mar 2019 12:57:01 +0000 (13:57 +0100)]
Tools: Remove parenthesis from Spin Duplicates tool name

3 months agoTools: Add Shrink/Fatten to Curve Edit Toolbar
William Reynish [Sun, 3 Mar 2019 11:37:18 +0000 (12:37 +0100)]
Tools: Add Shrink/Fatten to Curve Edit Toolbar

3 months agoUI: Add Shrink/Fatten to curve contextual menus
William Reynish [Sun, 3 Mar 2019 09:58:51 +0000 (10:58 +0100)]
UI: Add Shrink/Fatten to curve contextual menus

3 months agoUI: increase 3D view icon contrast over light colors
Campbell Barton [Sun, 3 Mar 2019 00:27:36 +0000 (11:27 +1100)]
UI: increase 3D view icon contrast over light colors

- Avoid using white with low alpha to make grey.
  Note that this is the second time we've run into this problem: T59626.

- Use a light backdrop when the icons are dark
  so they're visible over a black background.

3 months agoImprove slightly the stability of wireframes in old GPUs from AMD.
mano-wii [Sun, 3 Mar 2019 00:00:37 +0000 (21:00 -0300)]
Improve slightly the stability of wireframes in old GPUs from AMD.

Tested on `AMD Radeon HD 7570M`.
The reason for crash reduction is still unknown.

3 months agoRefactor duplicate code for collections.
Bastien Montagne [Sat, 2 Mar 2019 21:00:34 +0000 (22:00 +0100)]
Refactor duplicate code for collections.

* Fix incorrect handling of children collections being linked more than
once in the hierarchy (previous code would make a new copy for each
link, instead of just re-linking the first copy for each extra link).

* Simplify some aspects of it (we do not need a GHash for new objects,
we can use ID->newid pointer instead, and some iterations can be done
directly on existing linked lists of old collection, instead of making
temp local copies of them).

* Move all copy logic into a single private recursive function (it was a
bit odd/disturbing to see calling function being indirectly called again
by the recursive helper one - not wrong, but that kind of code path can
quickly become problematic in recursive patterns).

* Added some comments about expected behavior of
`BKE_collection_duplicate()` depending on its booleans options.

3 months agoCleanup: comma warning
Campbell Barton [Sat, 2 Mar 2019 15:29:43 +0000 (02:29 +1100)]
Cleanup: comma warning

3 months agoCleanup: SDNA/DNA naming
Campbell Barton [Sat, 2 Mar 2019 14:05:58 +0000 (01:05 +1100)]
Cleanup: SDNA/DNA naming

Use 'size' instead of 'len' to represent the size of data in bytes,
'len' is used for the result of 'strlen' or the length of an array
in some parts of 'makesdna.c' & 'dna_genfile.c'.

Also clarify comments and some variable names, no functional changes.

3 months agoGPencil: Set alpha to 1 for all materials in SOLID mode
Antonioya [Sat, 2 Mar 2019 13:28:44 +0000 (14:28 +0100)]
GPencil: Set alpha to 1 for all materials in SOLID mode

To be consistent, the alpha must be set to 1 when solid mode is enabled.

3 months agoGPencil: Initialize Fill alpha to 1.0 by default for new materials
Antonioya [Sat, 2 Mar 2019 13:15:56 +0000 (14:15 +0100)]
GPencil: Initialize Fill alpha to 1.0 by default for new materials

3 months agoGPencil: Set Viewport color to black by default
Antonioya [Sat, 2 Mar 2019 13:13:04 +0000 (14:13 +0100)]
GPencil: Set Viewport color to black by default

As the 2D viewport color is white, if the object default color is white, when wireframe is enabled the object is invisible.

Now, the grease pencil object default viewport color is black.

3 months agoGPencil: Fix Display Textures in Solid mode
Antonioya [Sat, 2 Mar 2019 12:58:59 +0000 (13:58 +0100)]
GPencil: Fix Display Textures in Solid mode

There was a bug when selected Solid mode with Material or Texture mode. The textures were not visible.

Now, the mode is passed to shaders to decide if use the solid color or the result texture color. The mode is passed using an array with shading type and mode.

3 months agoFix BLI_mempool incorrect slop-space calculation
Campbell Barton [Sat, 2 Mar 2019 09:23:51 +0000 (20:23 +1100)]
Fix BLI_mempool incorrect slop-space calculation

Also ensure elements fit evenly into the chunk size
causing allocations to be slightly smaller in some cases.

In own tests reduces overall memory use by about ~4.5%
for high poly meshes in edit-mode.

3 months agoCleanup: code style & comments
Campbell Barton [Sat, 2 Mar 2019 07:35:20 +0000 (18:35 +1100)]
Cleanup: code style & comments

3 months agoCleanup: remove unused define
Campbell Barton [Sat, 2 Mar 2019 07:13:46 +0000 (18:13 +1100)]
Cleanup: remove unused define

There is no reason to keep the option for separate allocations,
it makes code harder to follow.

3 months agoRevert accidental change in submodules from last commit
Luca Rood [Sat, 2 Mar 2019 02:03:20 +0000 (03:03 +0100)]
Revert accidental change in submodules from last commit

This reverts part of commit d5c2be7031912cca8f58e90283eb52f63f71b32f.

3 months agoCMake: Use static libstdc++ for static builds
Luca Rood [Sat, 2 Mar 2019 01:53:09 +0000 (02:53 +0100)]
CMake: Use static libstdc++ for static builds

This enables static linking of libstdc++ by default when building using
`WITH_STATIC_LIBS`. This makes builds more portable for anyone making
static builds (in particular for older systems).

Reviewed By: brecht, campbellbarton, sergey

Differential Revision: https://developer.blender.org/D4393

3 months agoCleanup: comments, assert align is a power of two
Campbell Barton [Sat, 2 Mar 2019 00:57:39 +0000 (11:57 +1100)]
Cleanup: comments, assert align is a power of two

3 months agoBLI_memarena: use ASAN memory poison
Campbell Barton [Sat, 2 Mar 2019 00:41:55 +0000 (11:41 +1100)]
BLI_memarena: use ASAN memory poison

Detects invalid memory use when WITH_COMPILER_ASAN is enabled.

3 months agoCleanup: use dummy valgrind macros instead of ifdef's
Campbell Barton [Sat, 2 Mar 2019 00:22:29 +0000 (11:22 +1100)]
Cleanup: use dummy valgrind macros instead of ifdef's

3 months agoCleanup: unused variable
Campbell Barton [Sat, 2 Mar 2019 00:48:36 +0000 (11:48 +1100)]
Cleanup: unused variable

3 months agoRevert "Fix T62098: Outliner: Delete hierarchy crash"
Bastien Montagne [Fri, 1 Mar 2019 22:04:16 +0000 (23:04 +0100)]
Revert "Fix T62098: Outliner: Delete hierarchy crash"

This reverts commit d1baed5e3d03864b7968867fb93f9daa3d70428f.

Next time please let original author of the buggy code to take care of
fixing the issue!

3 months agoFix T62098: Outliner: Delete hierarchy crash.
Bastien Montagne [Fri, 1 Mar 2019 22:02:25 +0000 (23:02 +0100)]
Fix T62098: Outliner: Delete hierarchy crash.

Stupid mistake in own logic would prevent first deleted ID to be
properly unlinked from rest of .blend file before its deletion...

3 months agoFix drawing order messed up by rB005626b8c6b4
Richard Antalik [Fri, 1 Mar 2019 20:23:15 +0000 (12:23 -0800)]
Fix drawing order messed up by rB005626b8c6b4

When annotations enabled, image borders were drawn around whole area instead around preview image.

Reviewed by: Brecht

Differential revision: https://developer.blender.org/D4430

3 months agoFix T62098: Outliner: Delete hierarchy crash
Dalai Felinto [Fri, 1 Mar 2019 20:19:01 +0000 (17:19 -0300)]
Fix T62098: Outliner: Delete hierarchy crash

Revert "Outliner: Enable new faster 'Delete Hierarchy' code by default."
This reverts commit 491a98ca44297555c97e4dcc5ed5bf7b2dc0661d.

It fails in the most basic of tests (see report). No point in leaving
this commit around until it passes the easy to test cases.

3 months agoFixup for fix for OSX build using a build folder name with spaces
Dalai Felinto [Fri, 1 Mar 2019 20:07:06 +0000 (17:07 -0300)]
Fixup for fix for OSX build using a build folder name with spaces

Bug introduced on: 1f22e3f311e74031c3c01714117d759d3e3de3f1.
This was making regular Mac builds to fail, where they were not failing before.

Tested by William Reynish.

3 months agoGPencil: Change display modes
Antonioya [Fri, 1 Mar 2019 19:50:44 +0000 (20:50 +0100)]
GPencil: Change display modes

-Wireframe use Background color for X-Ray off
- Added support to Solid mode.
- Solid mode shows fill or not depending X-Ray.
- Solid can use Single, Material, etc.
- Wireframe and Solid mode don't show FXs.

3 months agoFix T62025: Outliner and viewport missing update after deleting object
Dalai Felinto [Fri, 1 Mar 2019 19:18:05 +0000 (16:18 -0300)]
Fix T62025: Outliner and viewport missing update after deleting object

Bug introduced on 012483b6e4a1453c3e990127db001617997a9d64.

Since we notify similar things when changing active and selected
objects, I believe we didn't notice this was missing a ND_OB_SELECT
notification before the small refactor to use the messenging system
exposed that bug.

3 months agoFix unreported: Glitches on the wireframe of curves.
mano-wii [Fri, 1 Mar 2019 19:02:35 +0000 (16:02 -0300)]
Fix unreported: Glitches on the wireframe of curves.

3 months agoFix warning for uiButPushedStateFunc
Dalai Felinto [Fri, 1 Mar 2019 18:58:03 +0000 (15:58 -0300)]
Fix warning for uiButPushedStateFunc

I changed the number of arguments for uiButPushedStateFunc
and forgot to update parts of the code (rB92182495da881).

3 months agoFix T62047 New wireframes missing fresnel effect
Clément Foucault [Fri, 1 Mar 2019 17:21:58 +0000 (18:21 +0100)]
Fix T62047 New wireframes missing fresnel effect

Add back some (subtle) fresnel effect on object wireframe.

Dupli/set object still remains flat and need more work.

3 months agoFix T62090 : Eevee shader compilation: undefined variable "att1_is_srgb"
Clément Foucault [Fri, 1 Mar 2019 16:57:06 +0000 (17:57 +0100)]
Fix T62090 : Eevee shader compilation: undefined variable "att1_is_srgb"

The geom shader check was not needed and this uncovered an error in the
GPU_BARYCENTRIC_TEXCO optimization recently commited.

3 months agoFix T62016: Outliner visibility icons drag behaviour broken
Dalai Felinto [Fri, 1 Mar 2019 16:14:16 +0000 (13:14 -0300)]
Fix T62016: Outliner visibility icons drag behaviour broken

We are mixing bool and fancy 3-in-1 func-set buttons in the outliner.
So they would return different pushed state in
ui_drag_toggle_but_pushed_state().

We now have a callback function that allows the button to set its own
pushed_button_state callback function.

Note: This is a bit of overkill since we are planning to change the
3-in-1 outliner buttons. That said, it may be nice to have, since in the
future we can mix those buttons for other things.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4434

3 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Fri, 1 Mar 2019 18:29:26 +0000 (19:29 +0100)]
Merge branch 'blender2.7'

3 months agoFix T62073: Cycles random hangs rendering with Save Buffers on.
Brecht Van Lommel [Fri, 1 Mar 2019 18:09:17 +0000 (19:09 +0100)]
Fix T62073: Cycles random hangs rendering with Save Buffers on.

3 months agoFix T62087: Crash when rendering in Cycles
Sergey Sharybin [Fri, 1 Mar 2019 17:51:16 +0000 (18:51 +0100)]
Fix T62087: Crash when rendering in Cycles

The issue was discovered only after recent changes, but roots back
to much older changes.

What was happening is scene's ID recalc flags where never cleared,
which caused ensure_view_layer() to always run copy-on-write on the
scene. This resulted in certain runtime data being cleared, without
proper flag stored in the dependency graph.

This was caused by ID recalc clear function checking whether any ID
was tagged for recalc in that graph or not. This was happening due
to all areas using DEG_id_type_tag() which can only set flags on the
graph from viewport scenes, and could not inform render dependency
graph.

Now ID tyoe tagging is happening on per-graph level, which avoids
possibility of flags running out of sync.

In a bit longer term we also need to get rid of two functions which
are clearing flags: DEG_id_type_tag() and deg_graph_clear_tags().

3 months agoFix T62075: Edges generated by solidify modifier does not appear
Clément Foucault [Fri, 1 Mar 2019 13:03:45 +0000 (14:03 +0100)]
Fix T62075: Edges generated by solidify modifier does not appear

This was a missing flag.

3 months agoFix crash with wireframe on highpoly curves on some AMD gpus.
mano-wii [Fri, 1 Mar 2019 15:36:34 +0000 (12:36 -0300)]
Fix crash with wireframe on highpoly curves on some AMD gpus.

Differential Revision: https://developer.blender.org/D4433

3 months agoUse original base to see whether it can be ignored from evaluation
Sergey Sharybin [Fri, 1 Mar 2019 15:35:11 +0000 (16:35 +0100)]
Use original base to see whether it can be ignored from evaluation

Object of evaluated base is not yet copied, so we can not know whether
it has animation on visibility or not.

This issue was reported in T56635#630383.

3 months agoCleanup: typo and update comment
Philipp Oeser [Fri, 1 Mar 2019 15:06:14 +0000 (16:06 +0100)]
Cleanup: typo and update comment

3 months agoOutliner: Collections Duplicate - remove original duplicate operator
Dalai Felinto [Fri, 1 Mar 2019 14:43:30 +0000 (11:43 -0300)]
Outliner: Collections Duplicate - remove original duplicate operator

Now that we have better options (duplicate collection and duplicate linked) there is no
longer need for the original dupli operator.

In fact, as it was it was of little use if you ever had nested collections.

3 months agoOutliner: Collection - Duplicate Hierarchy, and Duplicate Linked Hierarchy
Dalai Felinto [Tue, 26 Feb 2019 19:15:30 +0000 (16:15 -0300)]
Outliner: Collection - Duplicate Hierarchy, and Duplicate Linked Hierarchy

As per the suggestion on T57064, this introduces two new options to duplicate collections.
We then have:
* Duplicate > Collection (New collection with linked content).
* Duplicate > Hierachy (Duplicate entire hierarchy and make all contents single user).
* Duplicate > Linked Hierarchy (Duplicate entire hierarchy keeping content linked with original).

Development TODO: `single_object_users` can/should use the new functions.

Reviewers: brecht, mont29

Subscribers: pablovazquez, billreynish, JulienKaspar

Differential Revision: https://developer.blender.org/D4394

3 months agoCleanup: Update comment
Dalai Felinto [Tue, 26 Feb 2019 21:30:01 +0000 (18:30 -0300)]
Cleanup: Update comment

3 months agoCleanup: Set BKE_key_from_object/_p to take const Object *
Dalai Felinto [Tue, 26 Feb 2019 21:14:09 +0000 (18:14 -0300)]
Cleanup: Set BKE_key_from_object/_p to take const Object *

3 months agoCleanup: use variable instead of define
Campbell Barton [Fri, 1 Mar 2019 14:30:59 +0000 (01:30 +1100)]
Cleanup: use variable instead of define

3 months agoCleanup: move theme reset into it's own operator file
Campbell Barton [Fri, 1 Mar 2019 13:52:00 +0000 (00:52 +1100)]
Cleanup: move theme reset into it's own operator file

3 months agoFix: Better fix for KeyingSet "Export to File" and unescaped characters
Joshua Leung [Fri, 1 Mar 2019 13:15:54 +0000 (02:15 +1300)]
Fix: Better fix for KeyingSet "Export to File" and unescaped characters

Use Python's native raw formatting instead, which should take care of any issues
we may face.

3 months agoCleanup: Adding braces around all cases here to make it easier for the next step
Joshua Leung [Fri, 1 Mar 2019 13:11:14 +0000 (02:11 +1300)]
Cleanup: Adding braces around all cases here to make it easier for the next step

3 months agoFix T62057: Particle settings keyframes not showing in Graph Editor channels
Joshua Leung [Fri, 1 Mar 2019 13:10:43 +0000 (02:10 +1300)]
Fix T62057: Particle settings keyframes not showing in Graph Editor channels

In short, the settings to expand/collapse the Particles Animation Dopesheet expander
were no longer getting exposed, so the F-Curves attached to the particle settings
were not showing up in the channels list as that section was collapsed and couldn't
be opened from the UI.

Early on during the development of 2.8, we originally wanted to completely remove
the Particle System. Eventually that decision got walked back, and so particles
were reinstated. Well... most of the relevant code was! One of the areas that was
the most messed up during this process was the animation editor support for these
channels. It seems that there was almost a two-step removal process here -
the first pass tried to keep the channel definitions while removing all references
to particle stuff, while the second pass tried to remove the definitions completely
and/or re-added them in the wrong places, etc. To say the removal/reverting history is
here is "colourful" is an understatement...

3 months agoCleanup: use preferences prefix for Python operators
Campbell Barton [Fri, 1 Mar 2019 13:21:05 +0000 (00:21 +1100)]
Cleanup: use preferences prefix for Python operators

3 months agoCollections: mark visibility properties as not animatable.
Brecht Van Lommel [Fri, 1 Mar 2019 12:39:30 +0000 (13:39 +0100)]
Collections: mark visibility properties as not animatable.

Better to communicate the current state clearly until this is supported,
for now only object visibility can be animated.

3 months agoCleanup: use unsigned types in 3D view editor
Campbell Barton [Fri, 1 Mar 2019 12:43:34 +0000 (23:43 +1100)]
Cleanup: use unsigned types in 3D view editor

3 months agoTool System: add a mode option to 3D view circle select
Campbell Barton [Fri, 1 Mar 2019 12:18:34 +0000 (23:18 +1100)]
Tool System: add a mode option to 3D view circle select

Support only basic operations: new/add/subtract.

3 months ago3D View: avoid redundant circle select updates
Campbell Barton [Fri, 1 Mar 2019 12:09:22 +0000 (23:09 +1100)]
3D View: avoid redundant circle select updates

This refreshes on cursor motion so it's worth avoiding redundant
updates, especially for multi-object edit-modes where many objects
aren't even near the object being selected.

This commit also moves to passing eSelectOp to circle select functions
in preparation for adding a select mode tool option.