4 years agoFix unit test error on Windows
Sybren A. Stüvel [Fri, 14 Jul 2017 07:53:20 +0000 (09:53 +0200)]
Fix unit test error on Windows

4 years agoSnap System: Replace creation and destruction of the object list by a Macro
mano-wii [Thu, 13 Jul 2017 22:39:17 +0000 (19:39 -0300)]
Snap System: Replace creation and destruction of the object list by a Macro

The macro got a little strange, but it's better than using the MEM_mallocN inside a loop, or repeat the lines

4 years agoCleanup: Fix MSVC warning message
Antonio Vazquez [Thu, 13 Jul 2017 15:54:24 +0000 (17:54 +0200)]
Cleanup: Fix MSVC warning message

The const key is required by compiler to avoid warning

4 years agoSequence editor: Renamed "Override" to "Overwrite" in "Set Selected Strip Proxies"
Sybren A. Stüvel [Thu, 13 Jul 2017 14:26:19 +0000 (16:26 +0200)]
Sequence editor: Renamed "Override" to "Overwrite" in "Set Selected Strip Proxies"

The option has always (un)set the "Overwrite" flag on all strips. Calling
it "Override" seems misleading, since even when unchecking it, it overrides
whatever was set on the selected strips. It really just (un)sets the
"Overwrite" flag, and now it is also labeled as such.

4 years agoFix texture paint crash when painting onto stencil
Campbell Barton [Thu, 13 Jul 2017 10:48:55 +0000 (20:48 +1000)]
Fix texture paint crash when painting onto stencil

4 years agoRevert T44320: UV island overlap considered linked
Campbell Barton [Thu, 13 Jul 2017 04:32:04 +0000 (14:32 +1000)]
Revert T44320: UV island overlap considered linked

In the reported example it seemed reasonable to apply this change.
But it causes a much more common case (selecting projections)
to be split into 2x islands.

Resolves T50970

4 years agoFix T51100: Vertex pick fails after extrude
Campbell Barton [Thu, 13 Jul 2017 04:13:59 +0000 (14:13 +1000)]
Fix T51100: Vertex pick fails after extrude

4 years agoSnap System: remove unused function
mano-wii [Wed, 12 Jul 2017 23:43:28 +0000 (20:43 -0300)]
Snap System: remove unused function

4 years agoBMesh: move safe loop-normal-calc to own function
Campbell Barton [Wed, 12 Jul 2017 13:06:59 +0000 (23:06 +1000)]
BMesh: move safe loop-normal-calc to own function

This makes sense when we want to avoid float precision error
for near co-linear edges. OTOH, this is an arbitrary decision,
so keep functions separate.

4 years agoCycles: Enable SSS from Principled BSDF only when actually in use
Mai Lavelle [Wed, 12 Jul 2017 08:36:46 +0000 (04:36 -0400)]
Cycles: Enable SSS from Principled BSDF only when actually in use

This gives speed up for the split kernel in scenes using the principled BSDF
but without subsurface scattering.

4 years agoCleanup: unused vars
Campbell Barton [Wed, 12 Jul 2017 03:54:20 +0000 (13:54 +1000)]
Cleanup: unused vars

4 years agoCycles: Fix comparison in principled BSDF
Mai Lavelle [Wed, 12 Jul 2017 03:41:22 +0000 (23:41 -0400)]
Cycles: Fix comparison in principled BSDF

Could have lead to black pixels.

4 years agoFix T52027: OSL getattribute() crash, when optimizer calls it before rendering.
Brecht Van Lommel [Tue, 11 Jul 2017 20:39:51 +0000 (22:39 +0200)]
Fix T52027: OSL getattribute() crash, when optimizer calls it before rendering.

4 years agoFix [T51595]: Snap to edge does not work with high zoom level
mano-wii [Tue, 11 Jul 2017 20:03:49 +0000 (17:03 -0300)]
Fix [T51595]: Snap to edge does not work with high zoom level

That problem occurs because of the imprecision of `short int` (16 bits).
The 3d coordinates are converted to 2d, and when they are off the screen, their values can exceed 32767! (max short int value)

One quick solution is to use float instead of short

The snap code is actually a little tricky. I want to make some arithmetic simplifications in it

4 years agoStyle (remove characters that caused "a binary file")
mano-wii [Tue, 11 Jul 2017 17:22:07 +0000 (14:22 -0300)]
Style (remove characters that caused "a binary file")

4 years agoSnap System: Separate raycast functions from nearest2d functions
mano-wii [Tue, 11 Jul 2017 16:47:28 +0000 (13:47 -0300)]
Snap System: Separate raycast functions from nearest2d functions

The only similarity between these functions is that both serve to snap.
However their codes are totally different from one another.
So by separating these functions, it:
- removes the need to put several conditions;
- simplifies and
- optimizes the code

4 years agoFix T52022 Alembic Inherits transform not taken into account
Sybren A. Stüvel [Tue, 11 Jul 2017 14:16:56 +0000 (16:16 +0200)]
Fix T52022 Alembic Inherits transform not taken into account

Alembic's "inherits transform" flag wasn't taken into account when
constructing the parent object relations.

4 years agoA bunch of fixes for Pose Library while checking on T51607
Joshua Leung [Tue, 11 Jul 2017 13:33:08 +0000 (01:33 +1200)]
A bunch of fixes for Pose Library while checking on T51607

* Display a warning above the pose list if the pose library is in an invalid
  state (i.e. when it has keyframes but no pose-markers associated with those
  keyframes). This warning prompts users to run the "Sanitize Pose Library Action"
  operator, which should fix up such issues.

* "Sanitize" operator now creates unique names for each newly create pose
  marker it generates, including the frame on which it found the pose

4 years agoFix: Accidentally left debug print in last commit
Joshua Leung [Tue, 11 Jul 2017 11:39:35 +0000 (23:39 +1200)]
Fix: Accidentally left debug print in last commit

4 years agoFix T52009: F-Curve "Stepped interpolation" modifier "restrict frame-range" IN and...
Joshua Leung [Tue, 11 Jul 2017 06:07:11 +0000 (18:07 +1200)]
Fix T52009: F-Curve "Stepped interpolation" modifier "restrict frame-range" IN and OUT parameters cannot be edited

The problem here was that the "frame_start" and "frame_end" RNA properties of
the Stepped FModifier were shadowing/overriding "frame_start" and "frame_end"
properties of the base FModifier. As a result, when the range() callback
for the In/Out parameters (defined as part of the base FModifier) checked
it's start/end properties, they were always still zero, meaning that the
acceptable range for the In/Out parameters was 0 -> 0 = 0.

If you've got old files with this problem, you'll need to manually click on
the frame_start/end properties to flush out the old values. It's probably
not worth the effort of applying a version patch for this (given that this
modifier is not one of the most often used ones AFAIK).

4 years agoFix T51879: NLA Influence can not be autokeyed
Joshua Leung [Tue, 4 Jul 2017 03:35:27 +0000 (15:35 +1200)]
Fix T51879: NLA Influence can not be autokeyed

As with Strip Time, the updates here would get triggered before the
autokeying had a chance to record the unkeyed values, making it impossible
to autokey.

4 years agoCycles: Disable OpenCL clFlush workarounds
Sergey Sharybin [Tue, 11 Jul 2017 10:16:58 +0000 (12:16 +0200)]
Cycles: Disable OpenCL clFlush workarounds

This is something which was reported to work fine by Mai, Benjamin and
confirmed by myself. Disabling this workaround gains us some speedup:

                      Before           Now
bmw27                04:28.42        04:07.79
classroom            09:26.48        08:54.53
fishy_cat            08:44.01        08:18.70
koro                 09:17.98        08:57.18
pavillon_barcelone   12:26.64        11:52.81

Test environment is:
- Ubuntu 16.04, with all updates installed
- AMD RX 480 GPU
- amdgpu pro driver version 17.10-450821

4 years agoTheme Flatty Light
Pablo Vazquez [Tue, 11 Jul 2017 09:17:36 +0000 (11:17 +0200)]
Theme Flatty Light

Color GraphEditor tabs, brighter 3D viewport gradient

4 years agoFix memory leak caused by node clipboard
Sergey Sharybin [Tue, 11 Jul 2017 09:06:36 +0000 (11:06 +0200)]
Fix memory leak caused by node clipboard

The issue was caused by combination of following factors:

- Clipboard cleanup function will pass node tree as NULL to node free

  This is fine on it's own, we don't have tree in clipboard.

- Node free function will call node storage cleanup only when there is
  a non-NULL node tree.

  This is somewhat weird, because storage cleanup does not take node
  tree as argument.

So the solution here: move node storage cleanup outside of check that
node tree is not NULL.

4 years agoOpensubdiv: Fix compilation error with older Opensubdiv versions
Sergey Sharybin [Tue, 11 Jul 2017 09:05:21 +0000 (11:05 +0200)]
Opensubdiv: Fix compilation error with older Opensubdiv versions

4 years agoFix T49034: multi-drag crashes when UI forces exit
Campbell Barton [Tue, 11 Jul 2017 09:07:37 +0000 (19:07 +1000)]
Fix T49034: multi-drag crashes when UI forces exit

4 years agoResolve T51745: Mesh extrude keep-orig needs edges
Campbell Barton [Tue, 11 Jul 2017 04:48:55 +0000 (14:48 +1000)]
Resolve T51745: Mesh extrude keep-orig needs edges

Document to avoid confusion when called from Python.

4 years agoFix T51761: wpaint select depth limit fails
Campbell Barton [Tue, 11 Jul 2017 04:05:59 +0000 (14:05 +1000)]
Fix T51761: wpaint select depth limit fails

Limit select fails with circle and border select.

Regression in 2.76

4 years agoFix (unreported) broken uvsculpt in Scene's toolsettings' copying.
Bastien Montagne [Mon, 10 Jul 2017 19:16:48 +0000 (21:16 +0200)]
Fix (unreported) broken uvsculpt in Scene's toolsettings' copying.

This was serious bug actually, probably a crasher in case you free
original or copy after duplication...

4 years agoFix (unreported) Scene's copying toolsettings' clone and canvas, and particles' scene...
Bastien Montagne [Mon, 10 Jul 2017 19:12:42 +0000 (21:12 +0200)]
Fix (unreported) Scene's copying toolsettings' clone and canvas, and particles' scene and object pointers.

imapaint's clone and canvas are refcounting Image usages.

And particle's editsettings' object and scene seem to be pure runtime
data (they are reset to NULL in readcode), so resetting them to NULL
here as well.

4 years agoFix strict compiler warning
Sergey Sharybin [Mon, 10 Jul 2017 15:43:27 +0000 (17:43 +0200)]
Fix strict compiler warning

4 years agoFix (unreported) Scene copying doing very stupid things with World and LineStyle...
Bastien Montagne [Mon, 10 Jul 2017 13:10:17 +0000 (15:10 +0200)]
Fix (unreported) Scene copying doing very stupid things with World and LineStyle usercounts.

Really, really, really need to get rid of this usercount handling
everywhere, hopefully incomming ID copying rewrite will help sanitize
that mess. But fix was needed for 2.79 release!

4 years agoPartial fix of T51989: Don't set image user offset for movie files
Sergey Sharybin [Mon, 10 Jul 2017 12:22:33 +0000 (14:22 +0200)]
Partial fix of T51989: Don't set image user offset for movie files

While this is handy for image sequences, it's totally meaningless for movie files.

4 years agoFix T52011: Border render is incorrect with multiple scenes
Sergey Sharybin [Mon, 10 Jul 2017 10:17:13 +0000 (12:17 +0200)]
Fix T52011: Border render is incorrect with multiple scenes

The code was somewhat weird: it was first copying border/crop settings from
the "source" scene, then was checking border settings of the current scene
and only then was copying border from "source" scene.

Now we first copy border/crop flags, then copy border from source and then
check whether border is a full-frame.

4 years agoError in last commit
Campbell Barton [Mon, 10 Jul 2017 07:44:49 +0000 (17:44 +1000)]
Error in last commit

4 years agoFix T51998: Anim player uses 100% CPU
Campbell Barton [Mon, 10 Jul 2017 07:37:00 +0000 (17:37 +1000)]
Fix T51998: Anim player uses 100% CPU

The loop running with no events didn't sleep.
Now wait for events when paused.

4 years agoFix T51052: CacheFile Open crashes from Python
Campbell Barton [Mon, 10 Jul 2017 07:06:25 +0000 (17:06 +1000)]
Fix T51052: CacheFile Open crashes from Python

Note that access makes more sense here,
but better not crash when called from Python.

4 years agoCurve: add assert for invalid next/prev use
Campbell Barton [Mon, 10 Jul 2017 06:27:15 +0000 (16:27 +1000)]
Curve: add assert for invalid next/prev use

4 years agoFix T51665: No orientation for nurbs, polygons
Campbell Barton [Mon, 10 Jul 2017 04:37:20 +0000 (14:37 +1000)]
Fix T51665: No orientation for nurbs, polygons

4 years agoFix T52007: Cancel bezier curve transform fails
Campbell Barton [Mon, 10 Jul 2017 03:38:28 +0000 (13:38 +1000)]
Fix T52007: Cancel bezier curve transform fails

Auto & aligned handles wouldn't restore to their correct locations.

Note that a more direct fix for the bug is possible
(storing the handle locations to restore on cancel).

But that still gives some odd behavior, see code-comments for details.

4 years agoFix T51898: missing sequence strip color space validation on load.
Brecht Van Lommel [Sun, 9 Jul 2017 23:03:20 +0000 (01:03 +0200)]
Fix T51898: missing sequence strip color space validation on load.

4 years agoFix T52001: material draw mode principled BSDF artifacts at some angles.
Brecht Van Lommel [Sat, 8 Jul 2017 21:37:16 +0000 (23:37 +0200)]
Fix T52001: material draw mode principled BSDF artifacts at some angles.

The default anisotropic tangent computation could fail in some cases,
leading to NaNs and artifacts. Use a simpler formulation that doesn't
suffer from this.

4 years agoFix T51959: Windows + Intel GPU offset between UI drawing and mouse.
Brecht Van Lommel [Sat, 8 Jul 2017 20:08:38 +0000 (22:08 +0200)]
Fix T51959: Windows + Intel GPU offset between UI drawing and mouse.

Unfortunately this means disabling the code that ensures the title
bar is properly scaled with DPI, however better to have that as a
cosmetic issue than Blender being unusable with a lot of Intel GPUs.

4 years agoFix T51967: OSL crash after rendering finished (mainly on Windows).
Brecht Van Lommel [Sat, 8 Jul 2017 00:46:06 +0000 (02:46 +0200)]
Fix T51967: OSL crash after rendering finished (mainly on Windows).

4 years agoFix build after previous commit.
Brecht Van Lommel [Sat, 8 Jul 2017 00:07:39 +0000 (02:07 +0200)]
Fix build after previous commit.

4 years agoFix T51889: new file or load factory settings results in broken UI.
Brecht Van Lommel [Fri, 7 Jul 2017 22:44:31 +0000 (00:44 +0200)]
Fix T51889: new file or load factory settings results in broken UI.

Fix some cases that still assumed there to be a global DPI, instead of a per
window DPI that needs to be set before reading U.dpi.

4 years agoFix T51977: New depsgraph removes the grass in victor scene
Sergey Sharybin [Fri, 7 Jul 2017 14:38:56 +0000 (16:38 +0200)]
Fix T51977: New depsgraph removes the grass in victor scene

For now just make new depsgraph do similar updates to the old one.

See bug report for more detailed information about what was going on.

4 years agoFix T51991: Disabled for viewport particle system becomes visible after BI render
Sergey Sharybin [Fri, 7 Jul 2017 14:13:50 +0000 (16:13 +0200)]
Fix T51991: Disabled for viewport particle system becomes visible after BI render

Move check for psys render data before it is actually requested for creation.

4 years agoFix T50973: Directional blur node doesn't clamp value if using driver
Sergey Sharybin [Fri, 7 Jul 2017 10:08:14 +0000 (12:08 +0200)]
Fix T50973: Directional blur node doesn't clamp value if using driver

The issue was caused by combination of following factors:

- Blender Internal viewport render can not distinguish between which parts of
  main database changed, so it does full database re-sync when anything is
  tagged for an update.

  This way, if any NodeTree (including compositor) is changed, Blender Internal
  viewport is tagged for full render database update.

- With old dependency graph, scene-level drivers are evaluated on every
  iteration of scene_update_tagged, even if nothing is tagged for an update.

  This causes compositor drivers be evaluated quite often.

- Driver evaluation checks whether value was changed, and if so it tags
  corresponding ID type as updated (this is what was telling viewport to do
  render database update).

  This check was quite stupid: current property value was checked against the
  one coming from driver expression. This means, if driver value is outside
  of the hard limit range of the property, the property will always be
  considered updated.

The fix is to compare current property value against clamped value from the

4 years agoCycles: Fix ambiguity in call of min() function
Sergey Sharybin [Fri, 7 Jul 2017 08:40:19 +0000 (10:40 +0200)]
Cycles: Fix ambiguity in call of min() function

4 years agoFix T51978: Setup Tracking Scene after Motion Tracking fails the first time
Sergey Sharybin [Fri, 7 Jul 2017 07:36:25 +0000 (09:36 +0200)]
Fix T51978: Setup Tracking Scene after Motion Tracking fails the first time

4 years agoFix T51980: Motion Tracking - png image files appear in the Blender program directory...
Sergey Sharybin [Fri, 7 Jul 2017 07:27:24 +0000 (09:27 +0200)]
Fix T51980: Motion Tracking - png image files appear in the Blender program directory when using refine

Residue of debug code remained form some older bug fix.

4 years agoAdd option to OpenImage operator not to detect sequences.
Bastien Montagne [Thu, 6 Jul 2017 12:50:10 +0000 (14:50 +0200)]
Add option to OpenImage operator not to detect sequences.

Otherwise, there would be no way to load a bunch of pictures with
'sequence pattern' in name in a single operation.

Related to T51778.

4 years agoFix T51955: Changing Auto-IK length crashes Blender (with new-depsgraph)
Sergey Sharybin [Wed, 5 Jul 2017 15:52:42 +0000 (17:52 +0200)]
Fix T51955: Changing Auto-IK length crashes Blender (with new-depsgraph)

New dependency graph is tacking root bone into account when building the graph.
This is required in order to get proper dependencies between bones. so we can
reliably use bones as targets from the same rig (and even indirect relations
via external objects). This forces us to tag relations for update when we change
root IK chain bone.

Since relations rebuild is not fully trivial operation, we only do it for
the new dependency graph. In the future it'll be nice to avoid whole graph
rebuild for such cases, but that's mentioned as a TODO.

4 years agoFix T51015: Pack all into blend automatically leaves checkbox enabled.
Bastien Montagne [Thu, 6 Jul 2017 09:52:44 +0000 (11:52 +0200)]
Fix T51015: Pack all into blend automatically leaves checkbox enabled.

Makes absolutely no sense to forcefully enable that automatic packing option here,
user can do this himself if they likes, from the very same menu...

4 years agoCycles: Add artificial memory limit debug option for OpenCL
Mai Lavelle [Thu, 6 Jul 2017 00:16:41 +0000 (20:16 -0400)]
Cycles: Add artificial memory limit debug option for OpenCL

4 years agoRevert "Cycles: use std::min and max for extra overloads"
Mai Lavelle [Thu, 6 Jul 2017 08:21:29 +0000 (04:21 -0400)]
Revert "Cycles: use std::min and max for extra overloads"

We already have this in util_algorithm.h

This reverts commit cff172c7621d89773baa99a9460f19056efb5f1e.

4 years agoCycles: Dont allow global size to fall to zero
Mai Lavelle [Thu, 6 Jul 2017 00:15:47 +0000 (20:15 -0400)]
Cycles: Dont allow global size to fall to zero

4 years agoCycles: Detect out of memory before buffer allocation in OpenCL devices
Mai Lavelle [Wed, 5 Jul 2017 23:44:18 +0000 (19:44 -0400)]
Cycles: Detect out of memory before buffer allocation in OpenCL devices

4 years agoCycles: use std::min and max for extra overloads
Mai Lavelle [Wed, 5 Jul 2017 23:43:34 +0000 (19:43 -0400)]
Cycles: use std::min and max for extra overloads

4 years agoBetter fix for sequencer crash when text strip doesn't have effect data.
Sybren A. Stüvel [Wed, 5 Jul 2017 20:18:36 +0000 (22:18 +0200)]
Better fix for sequencer crash when text strip doesn't have effect data.

This situation happens when a file with a text effect sequencer strip is
loaded in Blender < 2.76 and saved. This destroys the effect data, causing
a crash in Blender ≥ 2.76.

d2f748a222ad19f prevented the crash when opening such a file, but accessing
the strip still caused a crash. This commit fixes that by actually
initialising the invalid strip. Of course this still causes data loss, but
that already happened by opening & overwriting the file in Blender < 2.76.

4 years agoCycles: Fix compilation error after recent logging changes
Sergey Sharybin [Wed, 5 Jul 2017 18:39:34 +0000 (20:39 +0200)]
Cycles: Fix compilation error after recent logging changes

This file uses std::ostream for helper << operators, so need to make sure
corresponding header is included.

4 years agoSequencer: Prevent crash when text strip doesn't have effect data.
Sybren A. Stüvel [Wed, 5 Jul 2017 18:22:28 +0000 (20:22 +0200)]
Sequencer: Prevent crash when text strip doesn't have effect data.

4 years agoCode comments regarding last commit (forgotten to add before)
Luca Rood [Wed, 5 Jul 2017 14:16:57 +0000 (16:16 +0200)]
Code comments regarding last commit (forgotten to add before)

Using an arbitrary face as the source of the UV data is mostly fine, as
vertices on seams will generally map to different parts of the texture
that have the same color.

This is regarding fed853ea782211298c902759ec8cd8e455d8b41d

4 years agoFix T51296: UVs not working for hair emitted from vertices
Luca Rood [Wed, 5 Jul 2017 10:23:42 +0000 (12:23 +0200)]
Fix T51296: UVs not working for hair emitted from vertices

4 years agoCompositor: Fix compilation error and crash when using defocus search
Sergey Sharybin [Wed, 5 Jul 2017 13:37:33 +0000 (15:37 +0200)]
Compositor: Fix compilation error and crash when using defocus search

Was just wondering what the option is doing. Not sure yet, but let's fix
couple of issues here.

4 years agoCycles: Pass string by const reference rather than by value
Sergey Sharybin [Wed, 5 Jul 2017 10:27:41 +0000 (12:27 +0200)]
Cycles: Pass string by const reference rather than by value

Some of the functions might have been inlined, but others i don't see
how that was possible (don't think virtual functions can be inlined here).

In any case, better be explicitly optimal in the code.

4 years agoCycles: Fix compilation error when building without Glog and no C++11
Sergey Sharybin [Wed, 5 Jul 2017 10:01:12 +0000 (12:01 +0200)]
Cycles: Fix compilation error when building without Glog and no C++11

4 years agoFix T51834: Active Object and Groups color difference imperceptible
Bastien Montagne [Tue, 4 Jul 2017 14:01:16 +0000 (16:01 +0200)]
Fix T51834: Active Object and Groups color difference imperceptible

16 was not enough here, -32 seems to give OK results.

4 years agoFix T51965: Custom Bone Shape Wireframe setting affects wireframe thickness.
Bastien Montagne [Tue, 4 Jul 2017 11:10:08 +0000 (13:10 +0200)]
Fix T51965: Custom Bone Shape Wireframe setting affects wireframe thickness.

Clearing of custom bones outline's line thickness was not done at proper
point, wireframe drawing never changes line thickness, only solid draw
with outline does...

4 years agoFix T51703: Rigid body with delta transform jumps when transforming
Luca Rood [Tue, 4 Jul 2017 08:12:09 +0000 (10:12 +0200)]
Fix T51703: Rigid body with delta transform jumps when transforming

When doing any transformation on a rigid body object that has delta
transforms, the object would be offset by the amount of the delta

4 years agoBetter fix for rigid body not resimulating
Luca Rood [Tue, 4 Jul 2017 08:57:57 +0000 (10:57 +0200)]
Better fix for rigid body not resimulating

Last fix only accounted for direct changes to the RB settings, but
failed for, say, object transformations. This fix accounts for any
change that might invalidate the RB cache.

4 years agoFix rigid body not resimulating after cache invalidation
Luca Rood [Tue, 4 Jul 2017 07:20:02 +0000 (09:20 +0200)]
Fix rigid body not resimulating after cache invalidation

Fix 9cd6b03187b91bb2c267a45eac3cee7738e0e220 introduced a bug that
prevented simulation after a cache invalidation (for instance when
changing a setting after simulating). This fixes that.

4 years agoFix T51950: Abnormally long Cycles OpenCL GPU render times with certain panoramic...
Lukas Stockner [Mon, 3 Jul 2017 16:22:35 +0000 (18:22 +0200)]
Fix T51950: Abnormally long Cycles OpenCL GPU render times with certain panoramic camera settings

The problem here was that when a "invalid" path is generated by the panoramic camera, it was tagged
as RAY_TO_REGENERATE with the intention of generating a new path in kernel_buffer_update.

However, since that state was not handled in kernel_queue_enqueue, kernel_buffer_update did not
process the path which resulted in an infinite loop.

4 years agoCycles: Add missing split kernel to CPUDevice
Lukas Stockner [Mon, 3 Jul 2017 16:22:20 +0000 (18:22 +0200)]
Cycles: Add missing split kernel to CPUDevice

4 years agoFix T51523: Lattice modifier affecting particles even when disabled
Luca Rood [Mon, 3 Jul 2017 16:00:13 +0000 (18:00 +0200)]
Fix T51523: Lattice modifier affecting particles even when disabled

Particles were ignoring the lattice modifier visibility, and
"influence" property.

4 years agoFixed build error on Windows / VS2015
Sybren A. Stüvel [Mon, 3 Jul 2017 13:50:19 +0000 (15:50 +0200)]
Fixed build error on Windows / VS2015

4 years agoAlembic: fix T51820 for sequence files not loading properly.
Sybren A. Stüvel [Mon, 3 Jul 2017 11:49:16 +0000 (13:49 +0200)]
Alembic: fix T51820 for sequence files not loading properly.

4 years agoAlembic: avoid crashing when doing certain file operations.
Sybren A. Stüvel [Mon, 3 Jul 2017 13:28:19 +0000 (15:28 +0200)]
Alembic: avoid crashing when doing certain file operations.

Things like missing directories are now properly checked for, rather than
crashing Blender.

This also adds support for relative paths when opening an ABC file.

4 years agoAlembic: renamed offset → sequence_offset
Sybren A. Stüvel [Mon, 3 Jul 2017 10:29:01 +0000 (12:29 +0200)]
Alembic: renamed offset → sequence_offset

4 years agoFix T51883: Wrong matrix computation in "Make Duplicates Real"
Luca Rood [Mon, 3 Jul 2017 10:41:40 +0000 (12:41 +0200)]
Fix T51883: Wrong matrix computation in "Make Duplicates Real"

4 years agoFix missing return error introduced by last commit
Luca Rood [Mon, 3 Jul 2017 10:12:27 +0000 (12:12 +0200)]
Fix missing return error introduced by last commit

End of non-void function was being reached since

4 years agoFi T51023: MixRGB constant folding not effective with clamp option.
Brecht Van Lommel [Mon, 3 Jul 2017 03:25:27 +0000 (05:25 +0200)]
Fi T51023: MixRGB constant folding not effective with clamp option.

4 years agoFix T51855: Cycles emssive objects with NaN transform break lighting.
Brecht Van Lommel [Mon, 3 Jul 2017 03:04:43 +0000 (05:04 +0200)]
Fix T51855: Cycles emssive objects with NaN transform break lighting.

4 years agoFix T51889: broken UI after File > New without a userpref.blend.
Brecht Van Lommel [Mon, 3 Jul 2017 00:24:40 +0000 (02:24 +0200)]
Fix T51889: broken UI after File > New without a userpref.blend.

BLO_update_defaults_userpref_blend() was being run when no user preferences
were loaded from memory.

4 years agoFix T51734: batch-generate previews crashes on some materials.
Brecht Van Lommel [Sun, 2 Jul 2017 21:35:40 +0000 (23:35 +0200)]
Fix T51734: batch-generate previews crashes on some materials.

4 years agoFix T51759: fluid simulation particles not remoevd when colliding with outflow objects.
Lucas Veber [Sun, 2 Jul 2017 20:38:16 +0000 (22:38 +0200)]
Fix T51759: fluid simulation particles not remoevd when colliding with outflow objects.

Reviewed By: brecht

Differential Revision:

4 years agoFix T51951: cell noise texture precision issue at unit vertex coordinates.
Brecht Van Lommel [Sun, 2 Jul 2017 19:53:23 +0000 (21:53 +0200)]
Fix T51951: cell noise texture precision issue at unit vertex coordinates.

Solution is to bias the coordinates a little, same as Cycles checker texture.

4 years agoFix T51746: normal map tangents not working correctly when there are no UV maps.
Alexander Romanov [Sun, 2 Jul 2017 18:21:19 +0000 (20:21 +0200)]
Fix T51746: normal map tangents not working correctly when there are no UV maps.

Patch by Alexander, with some refactoring by Brecht.

Reviewed By: brecht

Differential Revision:

4 years agoFix T51772: double undo entry for color picker editing.
Brecht Van Lommel [Sun, 2 Jul 2017 19:25:25 +0000 (21:25 +0200)]
Fix T51772: double undo entry for color picker editing.

4 years agoFix T51956: color noise with principled sss, radius 0 and branched path.
Brecht Van Lommel [Sun, 2 Jul 2017 17:10:11 +0000 (19:10 +0200)]
Fix T51956: color noise with principled sss, radius 0 and branched path.

4 years agoFix T51957: principled BSDF mismatches in GLSL viewport.
Brecht Van Lommel [Sun, 2 Jul 2017 15:59:31 +0000 (17:59 +0200)]
Fix T51957: principled BSDF mismatches in GLSL viewport.

4 years agoFix principled BSDF incorrectly missing subsurface component with base color black.
Brecht Van Lommel [Sun, 2 Jul 2017 16:16:39 +0000 (18:16 +0200)]
Fix principled BSDF incorrectly missing subsurface component with base color black.

4 years agoFix T51947: failure setting sequence.use_proxy/crop/translation to False
Brecht Van Lommel [Sat, 1 Jul 2017 20:14:34 +0000 (22:14 +0200)]
Fix T51947: failure setting sequence.use_proxy/crop/translation to False

4 years agoFix ED_OT_undo_redo operator
Aleksandr Zinovev [Sat, 1 Jul 2017 07:50:29 +0000 (10:50 +0300)]
Fix ED_OT_undo_redo operator

4 years agoFix T50230: Rigid Body simulation shouldn't step when time is beyond cached area
Luca Rood [Fri, 30 Jun 2017 13:56:44 +0000 (15:56 +0200)]
Fix T50230: Rigid Body simulation shouldn't step when time is beyond cached area

This makes the last time (`ltime`) stored in the rigid body world (`rbw`)
only be updated once a simulation step actually occurs, this prevents
another simulation step from being solved unless the current time is
exactly one frame after the last cached frame. Thus this prevents the
formation of gaps in the cache, such as seen in T50230.

Reviewers: mont29, sergey, angavrilov

Tags: #physics

Maniphest Tasks: T50230

Differential Revision:

4 years agoBetter fix for isfinite problem - works in older gcc's too.
Howard Trickey [Fri, 30 Jun 2017 13:04:01 +0000 (09:04 -0400)]
Better fix for isfinite problem - works in older gcc's too.

Previous fix relying on __cplusplus value didn't fix for older
gcc's on linux, but this fix does.

4 years agoFix compile error after recent 9c2bbfb6 commit.
Howard Trickey [Fri, 30 Jun 2017 11:47:37 +0000 (07:47 -0400)]
Fix compile error after recent 9c2bbfb6 commit.

Older C++ compilers use finite instead of isfinite.

4 years agoCycles: Use float constants instead of double
Mai Lavelle [Fri, 30 Jun 2017 02:52:31 +0000 (22:52 -0400)]
Cycles: Use float constants instead of double

4 years agoCycles: Disable baking in mega kernel when not in use to improve build times
Mai Lavelle [Fri, 30 Jun 2017 02:50:00 +0000 (22:50 -0400)]
Cycles: Disable baking in mega kernel when not in use to improve build times