blender.git
2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 21 Jul 2017 09:16:37 +0000 (11:16 +0200)]
Merge branch 'master' into blender2.8

2 years agoFix T52134: New depsgraph crashes when evaluating several psys on from object
Sergey Sharybin [Fri, 21 Jul 2017 09:12:34 +0000 (11:12 +0200)]
Fix T52134: New depsgraph crashes when evaluating several psys on from object

2 years agoFix strict compiler error after recent UI changes
Sergey Sharybin [Fri, 21 Jul 2017 08:52:36 +0000 (10:52 +0200)]
Fix strict compiler error after recent UI changes

2 years agoFix T52136: Blender segfault (stack overflow most certainly) when converting to mesh.
Bastien Montagne [Fri, 21 Jul 2017 08:24:20 +0000 (10:24 +0200)]
Fix T52136: Blender segfault (stack overflow most certainly) when converting to mesh.

Stupid mistake in own recent refactor.

2 years agoUI/floats: Reduce our UI_PRECISION_FLOAT_MAX by one to avoid most rounding issues.
Bastien Montagne [Fri, 21 Jul 2017 08:10:36 +0000 (10:10 +0200)]
UI/floats: Reduce our UI_PRECISION_FLOAT_MAX by one to avoid most rounding issues.

The way we use it, UI_PRECISION_FLOAT_MAX is actually + 1 to get total
number of digits, and float only has 7 meaningful digits, so that define
shall be at 6.

2 years agoSet face-map to active when selecting
Campbell Barton [Fri, 21 Jul 2017 05:50:58 +0000 (15:50 +1000)]
Set face-map to active when selecting

It was annoying have to use select operator to know which facemap
applies to the active face. This behavior follows materials.

2 years agoFix a few harmless maybe uninitialized warnings with GCC 5.4.
Brecht Van Lommel [Thu, 20 Jul 2017 21:51:15 +0000 (23:51 +0200)]
Fix a few harmless maybe uninitialized warnings with GCC 5.4.

GCC seems to detect uninitialized into function calls now, but then isn't
always smart enough to see that it is actually initialized. Disabling this
warning entirely seems a bit too much, so initialize a bit more now.

2 years agoFix T46560: 2D paint smear and soften brushes not working with alpha.
Brecht Van Lommel [Thu, 20 Jul 2017 22:16:59 +0000 (00:16 +0200)]
Fix T46560: 2D paint smear and soften brushes not working with alpha.

Interpolate rather than do alpha over mix, matching projection paint.

2 years agoFix T52135: Cycles should not keep generated/packed images in memory after render.
Brecht Van Lommel [Thu, 20 Jul 2017 20:31:46 +0000 (22:31 +0200)]
Fix T52135: Cycles should not keep generated/packed images in memory after render.

2 years agoFix potential memory leak in Cycles loading of packed/generated images.
Brecht Van Lommel [Thu, 20 Jul 2017 20:31:02 +0000 (22:31 +0200)]
Fix potential memory leak in Cycles loading of packed/generated images.

2 years agoDepsgraph: Fix crash when updating materials with copy on write enabled
Sergey Sharybin [Thu, 20 Jul 2017 15:45:00 +0000 (17:45 +0200)]
Depsgraph: Fix crash when updating materials with copy on write enabled

The code was freeing GPU materials from non-main thread.

2 years agoFix T51925: Eevee: Animated Eevee values slowdown
Sergey Sharybin [Thu, 20 Jul 2017 14:13:08 +0000 (16:13 +0200)]
Fix T51925: Eevee: Animated Eevee values slowdown

Move material update from RNA callback to dependency graph.

2 years agoManipulator: add access to manipulator's group
Campbell Barton [Wed, 19 Jul 2017 18:35:48 +0000 (04:35 +1000)]
Manipulator: add access to manipulator's group

2 years agoPyAPI: use instancing when supported
Campbell Barton [Thu, 20 Jul 2017 14:45:35 +0000 (00:45 +1000)]
PyAPI: use instancing when supported

This means when a new data-type is returned it will use the same
instance as the previously created one (if it exists).

2 years agoPartially revert previous commit, some unwanted changes sneaked in
Sergey Sharybin [Thu, 20 Jul 2017 14:15:13 +0000 (16:15 +0200)]
Partially revert previous commit, some unwanted changes sneaked in

2 years agoDepsgraph: Use explicit material update operation code
Sergey Sharybin [Thu, 20 Jul 2017 14:03:04 +0000 (16:03 +0200)]
Depsgraph: Use explicit material update operation code

Avoids string comparison on key matching.

2 years agoDepsgraph: Solve TODO about more granular particle settings update tagging
Sergey Sharybin [Thu, 20 Jul 2017 13:38:48 +0000 (15:38 +0200)]
Depsgraph: Solve TODO about more granular particle settings update tagging

2 years agoFix/workaround T52127: Combed hair from 2.78 not showing when appending
Sergey Sharybin [Thu, 20 Jul 2017 13:15:25 +0000 (15:15 +0200)]
Fix/workaround T52127: Combed hair from 2.78 not showing when appending

Quick solution to prevent particle components from being tagged for complete
re-evaluaiton.

2 years agoFix T52125: principled BSDF missing with macOS OpenCL.
Brecht Van Lommel [Thu, 20 Jul 2017 13:15:43 +0000 (15:15 +0200)]
Fix T52125: principled BSDF missing with macOS OpenCL.

2 years agoDepsgraph: Fix crashes when OCIO configuration is missing
Sergey Sharybin [Thu, 20 Jul 2017 13:00:09 +0000 (15:00 +0200)]
Depsgraph: Fix crashes when OCIO configuration is missing

We were creating copy on write version of scene prior to validating color management
settings for the original scene.

2 years agoDepsgraph: Fix missing UV layers with copy on write enabled
Sergey Sharybin [Thu, 20 Jul 2017 12:29:13 +0000 (14:29 +0200)]
Depsgraph: Fix missing UV layers with copy on write enabled

2 years agoCycles: fixed the SM_2x CUDA kernel build that I broke in my previous commit
Stefan Werner [Thu, 20 Jul 2017 11:28:34 +0000 (13:28 +0200)]
Cycles: fixed the SM_2x CUDA kernel build that I broke in my previous commit

2 years agoDepsgraph: Fix crash with copy on write when scene has legacy bases
Sergey Sharybin [Thu, 20 Jul 2017 11:25:52 +0000 (13:25 +0200)]
Depsgraph: Fix crash with copy on write when scene has legacy bases

The remapping code was creating plkaceholders for objects coming from legacy
bases, but since those objects were never created by dependency graph (since
they are supposed to be ignored) the copy on write relations creation was
confused.

Now we do some special trickery to clear legacy bases on copy on write.

2 years agoDepsgraph: Ignore groups from copy on write expansion
Sergey Sharybin [Thu, 20 Jul 2017 10:45:07 +0000 (12:45 +0200)]
Depsgraph: Ignore groups from copy on write expansion

Groups will not have IDs in the dependency graph, so we shouldn't
create them for CoW as well.

2 years agoRNA: face-map access
Campbell Barton [Thu, 20 Jul 2017 08:37:30 +0000 (18:37 +1000)]
RNA: face-map access

Currently RNA doesn't give us a good way of accessing singleton layers,
for now expose as a layer list (skin & paint-pask do this too).

Noted in T47811 that this should be changed.

2 years agoBMesh face map layer access
Campbell Barton [Thu, 20 Jul 2017 08:33:12 +0000 (18:33 +1000)]
BMesh face map layer access

2 years agoFix active object doesn't show on templateID
Dalai Felinto [Thu, 20 Jul 2017 08:37:36 +0000 (10:37 +0200)]
Fix active object doesn't show on templateID

Before that if you went to the object panel tab in the Properties Editor
the active object wouldn't show in the first panel.

2 years agoFix T52107: Color management difference when using multiple and different GPUs together
Stefan Werner [Thu, 20 Jul 2017 08:03:27 +0000 (10:03 +0200)]
Fix T52107: Color management difference when using multiple and different GPUs together

This commit unifies the flattened texture slot names for bindless and regular CUDA textures. Texture indices are now identical across all CUDA architectures, where before Fermi used different indices, which lead to problems when rendering on multi-GPU setups mixing Fermi with newer hardware.

2 years agoDepsgraph: Move strict checks under ifdef blocks
Sergey Sharybin [Thu, 20 Jul 2017 07:42:54 +0000 (09:42 +0200)]
Depsgraph: Move strict checks under ifdef blocks

Those checks are not always helpful, since id remapping doesn't want to
worry about which components to tag for update. Perhaps in the future we
will introduce special flag which would mean "tag everything possible"/

2 years agoFix T51969: Filebrowser "Open File" button disappear when double-click thumbnail
Julian Eisel [Wed, 19 Jul 2017 19:42:41 +0000 (21:42 +0200)]
Fix T51969: Filebrowser "Open File" button disappear when double-click thumbnail

This reverts commit 82ba89b042e7067 (which caused T51969) and adds an
alternative fix (don't unset area stored in modal handler for fileselect
handlers).

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 19 Jul 2017 17:53:44 +0000 (03:53 +1000)]
Merge branch 'master' into blender2.8

2 years agoFix topology mirror ignoring center verts
Campbell Barton [Wed, 19 Jul 2017 17:29:08 +0000 (03:29 +1000)]
Fix topology mirror ignoring center verts

Caused select-mirror to fail with edges & faces.

2 years agoClay Engine: Fix blue noise warning when compiling without clay.
Clément Foucault [Wed, 19 Jul 2017 16:17:45 +0000 (18:17 +0200)]
Clay Engine: Fix blue noise warning when compiling without clay.

2 years agoEevee: Fix crash when using lamps in dupli groups.
Clément Foucault [Wed, 19 Jul 2017 16:15:27 +0000 (18:15 +0200)]
Eevee: Fix crash when using lamps in dupli groups.

2 years agoDoversion: Set Clay when opening "Blender Render" engine scenes
Dalai Felinto [Wed, 19 Jul 2017 16:14:48 +0000 (18:14 +0200)]
Doversion: Set Clay when opening "Blender Render" engine scenes

We get already enough reports of people complaining about crashes on
edit mode unaware that they are in the non-supported Blender Render
engine.

Blender Render is going away, no reason to keep it around. Once we have
a nice fallback on Eevee and fast file loading we can default to Eevee
instead.

2 years agoDepsgraph: Remove redundant argument from add_id_node()
Sergey Sharybin [Wed, 19 Jul 2017 15:31:32 +0000 (17:31 +0200)]
Depsgraph: Remove redundant argument from add_id_node()

2 years agoDepsgraph: Fix strict compiler error with copy on write disabled
Sergey Sharybin [Wed, 19 Jul 2017 14:26:22 +0000 (16:26 +0200)]
Depsgraph: Fix strict compiler error with copy on write disabled

2 years agoDepsgraph: Fix particle system freeing accessing freed particle settings
Sergey Sharybin [Wed, 19 Jul 2017 13:50:49 +0000 (15:50 +0200)]
Depsgraph: Fix particle system freeing accessing freed particle settings

Need to ensure CoW IDs are freed in the right order.

2 years agoDepsgraph: Fix heap use after free when freeing scene with compositor
Sergey Sharybin [Wed, 19 Jul 2017 13:06:25 +0000 (15:06 +0200)]
Depsgraph: Fix heap use after free when freeing scene with compositor

This is the fake ID nature of compositor again. Need to discard such
pointers before freeing datablock even for scenes (before it was done
for objects only).

2 years agoDepsgraph: Fix assert failure on Cycles render
Sergey Sharybin [Wed, 19 Jul 2017 13:05:49 +0000 (15:05 +0200)]
Depsgraph: Fix assert failure on Cycles render

Was happening when there was material in bmain but not used by any object.

2 years agoDepsgraph: Fix remapping of node trees when they reference self material
Sergey Sharybin [Wed, 19 Jul 2017 12:39:44 +0000 (14:39 +0200)]
Depsgraph: Fix remapping of node trees when they reference self material

2 years agoDepsgraph: Add missing expansion od custom bone shapes
Sergey Sharybin [Wed, 19 Jul 2017 10:44:27 +0000 (12:44 +0200)]
Depsgraph: Add missing expansion od custom bone shapes

2 years agoDepsgraph: Fix wrong ID remapping when armature object is constructed prior to it...
Sergey Sharybin [Wed, 19 Jul 2017 09:57:20 +0000 (11:57 +0200)]
Depsgraph: Fix wrong ID remapping when armature object is constructed prior to it's targets

Previously it was possible to run into situation when armature is constructed prior to
objects which are used for it's constraints. This was causing wrong scene evaluation.

Now we create placeholders for objects used by armature in case they don't have ID node
yet, which ensures we have proper mapping from original to copy-on-write ID pointer.

2 years agoDepsgraph: Ensure scene camera object is always built
Sergey Sharybin [Wed, 19 Jul 2017 09:54:39 +0000 (11:54 +0200)]
Depsgraph: Ensure scene camera object is always built

2 years agoDepsgraph: Add code which helps catching cases when requested ID node is not ready yet
Sergey Sharybin [Wed, 19 Jul 2017 09:08:39 +0000 (11:08 +0200)]
Depsgraph: Add code which helps catching cases when requested ID node is not ready yet

This shows the bug when IK solver doesn't update reliably when targeted an external
object and when that object is handled by build_object() after the armature.

2 years agoID: Add run-time flag indicating that ID is coming from copy-on-write
Sergey Sharybin [Wed, 19 Jul 2017 08:34:21 +0000 (10:34 +0200)]
ID: Add run-time flag indicating that ID is coming from copy-on-write

2 years agoDepsgraph: Fix compilation error in previous commit
Sergey Sharybin [Wed, 19 Jul 2017 08:29:08 +0000 (10:29 +0200)]
Depsgraph: Fix compilation error in previous commit

2 years agoDepsgraph: Remove hacky workaround for copy-on-write tagging flushing updates to...
Sergey Sharybin [Wed, 19 Jul 2017 07:40:34 +0000 (09:40 +0200)]
Depsgraph: Remove hacky workaround for copy-on-write tagging flushing updates to everything

Wasn't working reliably,m and it's somewhat dangerous anyway. Seed something smarter.

2 years agoDepsgraph: Fix crash opening file with IK solver with copy on write enabled
Sergey Sharybin [Wed, 19 Jul 2017 07:27:57 +0000 (09:27 +0200)]
Depsgraph: Fix crash opening file with IK solver with copy on write enabled

The issue was caused by id_copy_no_main() changing pointers of constraints used
in pose to a newly allocated ID. This is correct, but caused confusion too our
copy on write remapping, because we are mimicing inplace duplication by copying
memory over from a temporarily duplicated ID to a proper placeholder. This was
causing dangling pointers in pose to a temporarily allocated ID.

Now we add special code to remapping callback which replaces temporary ID with
a proper one.

2 years agoDepsgraph: Restore ID datablock tag when Object is tagged with OB_RECALC_DATA
Sergey Sharybin [Tue, 18 Jul 2017 15:08:29 +0000 (17:08 +0200)]
Depsgraph: Restore ID datablock tag when Object is tagged with OB_RECALC_DATA

Was lost in one of the previous commits.

2 years agoDepsgraph: Restore workaround for CoW objects not being fully expanded
Sergey Sharybin [Tue, 18 Jul 2017 14:42:24 +0000 (16:42 +0200)]
Depsgraph: Restore workaround for CoW objects not being fully expanded

2 years agoDepsgraph: Prevent wrong particles state when canceling playback
Sergey Sharybin [Tue, 18 Jul 2017 14:34:33 +0000 (16:34 +0200)]
Depsgraph: Prevent wrong particles state when canceling playback

2 years agoDepsgraph: Fixes to make particle system behave more correct
Sergey Sharybin [Tue, 18 Jul 2017 14:13:31 +0000 (16:13 +0200)]
Depsgraph: Fixes to make particle system behave more correct

Couple of main things here:

- Properly handle PSYS_UPDATE_* flags from DEG_id_tag_update.

  There are still some possible issues here related on the fact
  that we don't differentiate different PSYS_UPDATE_* flags here
  and handle the mall the same.

  Other possibility here is that object level particle settings
  evaluation might be forced when particle system evaluation is
  tagged for update. Didn't see actual issue here yet, but need
  a closer look.

- Don't tag non-object datablocks on visibility changes.

  Those don't depend on visibility anyway. This prevents particle
  settings IDs from flushing updates to all objects, causing all
  cached particles to be lsot.

- Only update translation and geometry components on visibility
  changes.

  Once again, this prevents particle cache from being invalidated.

  We might need to tag material components here still tho.

2 years agoDepsgraph: Stop tagging all IDs for update on depsgraph rebuild
Sergey Sharybin [Tue, 18 Jul 2017 13:50:12 +0000 (15:50 +0200)]
Depsgraph: Stop tagging all IDs for update on depsgraph rebuild

This code needs to be changed. For the time being CoW might become less stable,
but need to stop doing such tag for other work.

2 years agoDepsgraph: Initial implementation of more granular tagging
Sergey Sharybin [Tue, 18 Jul 2017 13:42:53 +0000 (15:42 +0200)]
Depsgraph: Initial implementation of more granular tagging

This commit makes it so that only ID components which correspond to the tag
flag are tagged for update (previously the whole ID would have been updated
in the most of cases).

This allows us to have more granular tag flags and prevent tagging of things
we don't want to be tagged.

2 years agoDepsgraph: Cleanup, de-duplicate couple of utility functions
Sergey Sharybin [Tue, 18 Jul 2017 10:43:22 +0000 (12:43 +0200)]
Depsgraph: Cleanup, de-duplicate couple of utility functions

2 years agoDepsgraph: Cleanup, remove unused untested functions
Sergey Sharybin [Tue, 18 Jul 2017 10:32:32 +0000 (12:32 +0200)]
Depsgraph: Cleanup, remove unused untested functions

2 years agoDepsgraph: Use dependency graph flush routines to update particle settings
Sergey Sharybin [Tue, 18 Jul 2017 10:12:15 +0000 (12:12 +0200)]
Depsgraph: Use dependency graph flush routines to update particle settings

Previously tagging particle settings for update will iterate over all objects and
all their particle system to see whether something needs an update or not. Now we
put ParticleSettings as an ID to the dependency graph, so tagging it for update
will nicely flush updates to all dependent particle systems.

Current downside of this is that due to limitation of flush routines it will cause
some extra particle system re-evaluation when it technically not needed, and what's
more annoying currently it will discard point caches more often.

However, this is a good and simple demonstration case to improve tagging/flushing
system to accommodate for such cases (similar issues happens with CoW and shading
components). So let's try to find some generic solution to the problem!

2 years agoDepsgraph: Use explicit parameters eval operation code
Sergey Sharybin [Tue, 18 Jul 2017 09:55:06 +0000 (11:55 +0200)]
Depsgraph: Use explicit parameters eval operation code

This replaces usage of generic PLACEHOLDEWR with string lookup with more
explicit opcode. This should make it faster to build dependency graph by
avoiding string comparisons when it's not needed.

There should be no user measurable different.

2 years agoDepsgraph: Add generic parameters evaluation operation code
Sergey Sharybin [Tue, 18 Jul 2017 09:50:38 +0000 (11:50 +0200)]
Depsgraph: Add generic parameters evaluation operation code

Currently unused, but the idea is to use this code instead of placeholder
operation code followed by string comparison.

2 years agoDepsgraph: Use more explicit naming for operation codes
Sergey Sharybin [Tue, 18 Jul 2017 09:48:35 +0000 (11:48 +0200)]
Depsgraph: Use more explicit naming for operation codes

This way it's better indication what group of operation codes things belongs to.

2 years agoDespgraph: cleanup, make separation of opcodes strings more clear
Sergey Sharybin [Tue, 18 Jul 2017 09:45:43 +0000 (11:45 +0200)]
Despgraph: cleanup, make separation of opcodes strings more clear

2 years agoDepsgraph: Use more explicit name for particle system evaluation opcode
Sergey Sharybin [Tue, 18 Jul 2017 09:40:23 +0000 (11:40 +0200)]
Depsgraph: Use more explicit name for particle system evaluation opcode

2 years agoFix (unreported) seldom crash when using previews in filebrowser.
Bastien Montagne [Wed, 19 Jul 2017 10:55:05 +0000 (12:55 +0200)]
Fix (unreported) seldom crash when using previews in filebrowser.

Hopefully fix it actually, at least could not reproduce it anymore with
that changen, but Was already quite hard to trigger before.
We need a memory barrier at this allocation, otherwise it might happen
after preview gets added to done queue, so preview could end up being
freed twice, leading to crash.

2 years agoManipulators: use nearest manipulator
Campbell Barton [Wed, 19 Jul 2017 10:12:24 +0000 (20:12 +1000)]
Manipulators: use nearest manipulator

Add utility function to get the nearest hit

2 years agoFix T52116: Blender internal BVH build crash in degenerate cases.
Brecht Van Lommel [Wed, 19 Jul 2017 09:04:04 +0000 (11:04 +0200)]
Fix T52116: Blender internal BVH build crash in degenerate cases.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 19 Jul 2017 04:38:22 +0000 (14:38 +1000)]
Merge branch 'master' into blender2.8

2 years agoFix T52092: Crash un-grouping nodes
Campbell Barton [Wed, 19 Jul 2017 04:32:31 +0000 (14:32 +1000)]
Fix T52092: Crash un-grouping nodes

2 years agoOutliner: Use scene_layer from context
Dalai Felinto [Tue, 18 Jul 2017 15:14:43 +0000 (17:14 +0200)]
Outliner: Use scene_layer from context

2 years agoFix T49498: continuous grab issues on macOS, particularly with gaming mouses.
Brecht Van Lommel [Tue, 18 Jul 2017 14:00:07 +0000 (16:00 +0200)]
Fix T49498: continuous grab issues on macOS, particularly with gaming mouses.

Change the implementation so it no longer takes over the mouse cursor motion
from the OS, instead only move it when warping, similar to Windows and X11.
Probably the reason it was not done this way originally is that you then get
a 500ms delay after warping, but we can use a trick to avoid that and get much
smoother mouse motion than before.

2 years agoFix T52109: Folder search won't work when selecting animation output folder.
Bastien Montagne [Tue, 18 Jul 2017 14:01:28 +0000 (16:01 +0200)]
Fix T52109: Folder search won't work when selecting animation output folder.

Text search would not run in case there was no 'type' enabled in filter
buttons. Now instead consider that no types enabled == all types
enabled.

2 years agoLayer cleanup: get rid of one of the placeholder functions
Dalai Felinto [Tue, 18 Jul 2017 09:16:00 +0000 (11:16 +0200)]
Layer cleanup: get rid of one of the placeholder functions

2 years agoContext/Workspace: Get scene layer from workspace
Dalai Felinto [Tue, 18 Jul 2017 09:15:38 +0000 (11:15 +0200)]
Context/Workspace: Get scene layer from workspace

2 years agoFix bad loss of precision when manually editing values in numbuttons.
Bastien Montagne [Mon, 17 Jul 2017 16:22:12 +0000 (18:22 +0200)]
Fix bad loss of precision when manually editing values in numbuttons.

While drawing nice 'rounded' values is OK also for 'low precision'
editing like dragging and such, it's quite an issue when you type in a
precise value, validate, edit again the value, and find a rounded
version of it instead of what you typed in!

So now, *only when entering textedit of num buttons*, we always get the highest
reasonable precision for floats (and use exponential notation when
values are too low or too high, to avoid tremendous amounts of zero's).

2 years agoCleanup: use WM_event prefix for modal_tweak_exit
Campbell Barton [Tue, 18 Jul 2017 08:09:26 +0000 (18:09 +1000)]
Cleanup: use WM_event prefix for modal_tweak_exit

2 years agoWM: move WM_event_is_last_mousemove to the WM API
Campbell Barton [Tue, 18 Jul 2017 08:06:21 +0000 (18:06 +1000)]
WM: move WM_event_is_last_mousemove to the WM API

2 years agoEevee: Avoid crash when using dupli objects.
Clément Foucault [Mon, 17 Jul 2017 16:31:27 +0000 (18:31 +0200)]
Eevee: Avoid crash when using dupli objects.

This is waiting a for a better solution.

2 years agoEevee: Fix transparency not drawing after volumetrics.
Clément Foucault [Mon, 17 Jul 2017 13:42:25 +0000 (15:42 +0200)]
Eevee: Fix transparency not drawing after volumetrics.

Fix T52089, Fix T52091

2 years agoEevee: Fix crash with transparency.
Clément Foucault [Mon, 17 Jul 2017 11:59:53 +0000 (13:59 +0200)]
Eevee: Fix crash with transparency.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 18 Jul 2017 08:10:19 +0000 (18:10 +1000)]
Merge branch 'master' into blender2.8

2 years agoFix T52021: Shadow catcher renders wrong when catcher object is behind transparent...
Sergey Sharybin [Tue, 18 Jul 2017 07:25:58 +0000 (09:25 +0200)]
Fix T52021: Shadow catcher renders wrong when catcher object is behind transparent object

Tweaked the path radiance summing and alpha to accommodate for possible contribution of
light by transparent surface bounces happening prior to shadow catcher intersection.

This commit will change the way how shadow catcher results looks when was behind semi
transparent object, but the old result seemed to be fully wrong: there were big artifacts
when alpha-overing the result on some actual footage.

2 years agoCycles: Remove meaningless camera ray check
Sergey Sharybin [Mon, 17 Jul 2017 10:09:13 +0000 (12:09 +0200)]
Cycles: Remove meaningless camera ray check

In branched path tracing main loop is always a camera ray, with varying
number of transparent bounces.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 18 Jul 2017 03:09:36 +0000 (13:09 +1000)]
Merge branch 'master' into blender2.8

2 years agoCleanup: quiet picky warnings
Campbell Barton [Tue, 18 Jul 2017 02:12:40 +0000 (12:12 +1000)]
Cleanup: quiet picky warnings

2 years agoTransform: avoid possible uninitialized var
Campbell Barton [Tue, 18 Jul 2017 02:10:23 +0000 (12:10 +1000)]
Transform: avoid possible uninitialized var

2 years agoFix layers unittest - we cannot use nestted get_pointer calls
Dalai Felinto [Mon, 17 Jul 2017 16:44:33 +0000 (18:44 +0200)]
Fix layers unittest - we cannot use nestted get_pointer calls

Remember to update your //lib/tests folder as well.

Patch by Bastien Montagne(mont29)

2 years agoWork around small DPI resulting in blurry fonts, clamping auto DPI to minimum 96.
Brecht Van Lommel [Mon, 17 Jul 2017 12:10:57 +0000 (14:10 +0200)]
Work around small DPI resulting in blurry fonts, clamping auto DPI to minimum 96.

Since we added auto DPI on Linux, on some systems the UI draws smaller than before
due to the monitor reporting DPI values like 88. Blender font drawing gives quite
blurry results for such slightly smaller DPI, apparently because the builtin font
isn't really designed for such small font sizes. As a workaround this clamps the
auto DPI to minimum 96, since the main case we are interested in supporting is
high DPI displays anyway.

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

2 years agoFix T52090: clarify meaning of EnumProperty number when using ENUM_FLAG.
Brecht Van Lommel [Mon, 17 Jul 2017 11:56:51 +0000 (13:56 +0200)]
Fix T52090: clarify meaning of EnumProperty number when using ENUM_FLAG.

2 years agoFix T51971: IK non-uniform scale regression.
Brecht Van Lommel [Wed, 5 Jul 2017 21:15:12 +0000 (23:15 +0200)]
Fix T51971: IK non-uniform scale regression.

This is a different fix for the issue from D2088, preserving backwards compatibility
for IK stretching. The main problem with this patch is that this new behavior has
been there for a year, so it may break rigs created since then which rely on the new
IK stretch behavior.

Test file for various cases:
https://developer.blender.org/diffusion/BL/browse/trunk/lib/tests/animation/IK.blend

Reviewers: campbellbarton

Subscribers: maverick, pkrime

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

2 years agoRevert "Unittests: Workaround for basact->object.id.name written as DATA"
Dalai Felinto [Mon, 17 Jul 2017 16:06:49 +0000 (18:06 +0200)]
Revert "Unittests: Workaround for basact->object.id.name written as DATA"

This reverts commit aa578fba534d7d7cab215d8f57c478d641b05db7.

2 years agofix T52065: Joint ID was generated wrong for bone animation exports
Gaia Clary [Mon, 17 Jul 2017 14:39:33 +0000 (16:39 +0200)]
fix T52065: Joint ID was generated wrong for bone animation exports

2 years agoUnittests: Workaround for basact->object.id.name written as DATA
Dalai Felinto [Mon, 17 Jul 2017 13:03:35 +0000 (15:03 +0200)]
Unittests: Workaround for basact->object.id.name written as DATA

This was introduced on e7fb013a60dd. Although I would love to investigate the
issue I'm mostly concerned with gettings the tests working again.

2 years agoUnittests: Make sure layer tests pass with or without workspace
Dalai Felinto [Mon, 17 Jul 2017 10:14:02 +0000 (12:14 +0200)]
Unittests: Make sure layer tests pass with or without workspace

2 years agoRemoving unused layer TODO placeholders
Dalai Felinto [Mon, 17 Jul 2017 09:17:04 +0000 (11:17 +0200)]
Removing unused layer TODO placeholders

2 years agoFix shadow geometry shader
Dalai Felinto [Mon, 17 Jul 2017 12:27:37 +0000 (14:27 +0200)]
Fix shadow geometry shader

2 years agoFix T39925: Set Origin to Geometry on a new text object moves the origin away from...
Bastien Montagne [Mon, 17 Jul 2017 10:56:12 +0000 (12:56 +0200)]
Fix T39925: Set Origin to Geometry on a new text object moves the origin away from the object

No need to take into account font size here...

2 years agoPy API doc generation: remove reference to "Blender/Python Add-on Tutorial"
Bastien Montagne [Mon, 17 Jul 2017 09:36:27 +0000 (11:36 +0200)]
Py API doc generation: remove reference to "Blender/Python Add-on Tutorial"

That one has been moved to wiki!

2 years agoEevee: Fix double promotion.
Clément Foucault [Thu, 13 Jul 2017 10:18:39 +0000 (12:18 +0200)]
Eevee: Fix double promotion.

2 years agoBuildbot: Switch to GCC-7 for Linux build slaves
Sergey Sharybin [Mon, 17 Jul 2017 07:32:19 +0000 (09:32 +0200)]
Buildbot: Switch to GCC-7 for Linux build slaves

This is GCC version was used for Testbuild1 and Testbuild2.

2 years agoFix blenderplayer
Dalai Felinto [Mon, 17 Jul 2017 07:30:39 +0000 (09:30 +0200)]
Fix blenderplayer