blender.git
3 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

3 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.

3 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.

3 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.

3 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.

3 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()

3 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

3 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.

3 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).

3 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.

3 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

3 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

3 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.

3 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

3 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.

3 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

3 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

3 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.

3 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.

3 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.

3 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

3 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

3 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.

3 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.

3 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.

3 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

3 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

3 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!

3 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.

3 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.

3 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.

3 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

3 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

3 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.

3 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

3 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.

3 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

3 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

3 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

3 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.

3 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.

3 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

3 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

3 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).

3 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

3 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

3 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.

3 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

3 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.

3 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

3 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.

3 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.

3 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

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

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

3 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)

3 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

3 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.

3 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

3 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.

3 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

3 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.

3 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

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

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

3 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...

3 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!

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

3 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.

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

3 years agoManipulator: allow ID-writing for most callbacks
Campbell Barton [Mon, 17 Jul 2017 07:20:54 +0000 (17:20 +1000)]
Manipulator: allow ID-writing for most callbacks

3 years agoManipulator: split alpha out of color property
Campbell Barton [Mon, 17 Jul 2017 05:06:18 +0000 (15:06 +1000)]
Manipulator: split alpha out of color property

Gives more convenient access from Python: `mathutils.Color`

Also correct some copy-paste error w/ property subtypes.

3 years agoFix crash re-registering the same manipulator type
Campbell Barton [Mon, 17 Jul 2017 04:33:12 +0000 (14:33 +1000)]
Fix crash re-registering the same manipulator type

Wasn't unlinking from the group instance.

3 years agoManipulator: add snap flag
Campbell Barton [Mon, 17 Jul 2017 04:16:23 +0000 (14:16 +1000)]
Manipulator: add snap flag

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 17 Jul 2017 03:21:05 +0000 (13:21 +1000)]
Merge branch 'master' into blender2.8

3 years agoPyDoc: minor change to recent workaround
Campbell Barton [Mon, 17 Jul 2017 03:16:37 +0000 (13:16 +1000)]
PyDoc: minor change to recent workaround

- Isolate workaround in single string and link to issue.
- Quiet unused file warning (since it's an include).

3 years agoPyAPI: don't use deprecated PyModule_GetFilename
Campbell Barton [Mon, 17 Jul 2017 02:44:03 +0000 (12:44 +1000)]
PyAPI: don't use deprecated PyModule_GetFilename

Allows compiling with newer Python versions.
Also add missing decref when compiling as a py-module.

3 years agoManipulator: allow py manipulators w/o properties
Campbell Barton [Mon, 17 Jul 2017 02:29:37 +0000 (12:29 +1000)]
Manipulator: allow py manipulators w/o properties

These could be used for manipulators that run operators.

3 years agoBPY API: Fix broken ref link
Aaron Carlisle [Sun, 16 Jul 2017 22:11:58 +0000 (18:11 -0400)]
BPY API: Fix broken ref link

3 years agoBPY API: Fix usless links leading to compile errors
Aaron Carlisle [Sun, 16 Jul 2017 21:05:29 +0000 (17:05 -0400)]
BPY API: Fix usless links leading to compile errors

See https://github.com/sphinx-doc/sphinx/issues/3866 for more information

3 years agoFix T52058: Jumping to keyframe causes Blender to freeze indefinitely
Joshua Leung [Sun, 16 Jul 2017 14:24:45 +0000 (02:24 +1200)]
Fix T52058: Jumping to keyframe causes Blender to freeze indefinitely

Revise the logic here to be more robust when keyframes with
similar-but-different frame numbers (e.g. 70.000000 vs 70.000008)
would cause the search to go into an infinite loop, as the same
keyframe was repeatedly found (and skipped).

3 years agoFix T52034: cell noise renders different.
Brecht Van Lommel [Thu, 13 Jul 2017 10:47:41 +0000 (12:47 +0200)]
Fix T52034: cell noise renders different.

Tweak the bias from the previous fix a bit to be more backwards compatible in
some scene. In the end which way we round is quite arbitrary, but keeping the
case where the texture coordinate is exactly zero the same seems better.

3 years agoFix T52066: Grid Mesh UV's aren't correct
Campbell Barton [Sat, 15 Jul 2017 14:02:09 +0000 (00:02 +1000)]
Fix T52066: Grid Mesh UV's aren't correct

3 years agoMerge branch 'master' into blender2.8
mano-wii [Fri, 14 Jul 2017 20:26:46 +0000 (17:26 -0300)]
Merge branch 'master' into blender2.8

3 years agoSnap System: Fixed index of objects used to make `snap to volume`
mano-wii [Fri, 14 Jul 2017 20:25:16 +0000 (17:25 -0300)]
Snap System: Fixed index of objects used to make `snap to volume`

*note: make a complete test scene

3 years agoMerge branch 'master' into blender2.8
mano-wii [Fri, 14 Jul 2017 19:56:36 +0000 (16:56 -0300)]
Merge branch 'master' into blender2.8

# Conflicts:
# source/blender/editors/transform/transform_snap_object.c

3 years agoSnap System: Use function that does the interactor instead of Macro
mano-wii [Fri, 14 Jul 2017 19:52:31 +0000 (16:52 -0300)]
Snap System: Use function that does the interactor instead of Macro

Macro makes debugging difficult. And in that case I was escaping from the style used in Blender

3 years agoFix MSVSC compiler warning
Antonio Vazquez [Fri, 14 Jul 2017 18:59:26 +0000 (20:59 +0200)]
Fix MSVSC compiler warning

A void function cannot return a value

3 years agoSnap System: minor issues
mano-wii [Fri, 14 Jul 2017 17:46:07 +0000 (14:46 -0300)]
Snap System: minor issues

rename obj -> ob_iter

3 years agoImplement Uniformbuffer objects for nodetree parameters
Dalai Felinto [Fri, 14 Jul 2017 15:40:54 +0000 (17:40 +0200)]
Implement Uniformbuffer objects for nodetree parameters

For users that means you can tweak shaders in the nodetree and things
are way faster. This is a huge improvement, particularly in
systems that have no shader cache.

From the code perspective it means we are no longer re-compiling the
shader every time a value is tweaked in the UI. We are using uniforms
for those values.

It would be slow to add that many uniforms for all the shaders. So
instead we are using UBO (Uniform Buffer Objects).

This fixes the main issue of T51467. However GWN_shaderinterface_create() still
needs to be improvedi. When opening a .blend all shaders are compiled once, so
optimizing it will bring a measurable impact.

========================================================================
NOTE: This breaks update of Cycles material upon nodetree nodes
tweaking. It will be fixed separately by depsgraph, once tackling T51925
(Animated Eevee values slowdown).

The idea is to make Depsgraph update more granular. The XXX TODO in
rna_nodetree.c will be tackled at that time as well.
========================================================================

Reviewers: sergey, brecht, fclem

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

3 years agoDwM: don't use context to apply color-management
Campbell Barton [Fri, 14 Jul 2017 14:49:48 +0000 (00:49 +1000)]
DwM: don't use context to apply color-management

Would give different results for off-screen rendering.

3 years agoMerge branch 'master' of git@git.blender.org:blender.git into blender2.8
mano-wii [Fri, 14 Jul 2017 14:24:43 +0000 (11:24 -0300)]
Merge branch 'master' of git@git.blender.org:blender.git into blender2.8

3 years agoSnap System: missing change
mano-wii [Fri, 14 Jul 2017 14:20:28 +0000 (11:20 -0300)]
Snap System: missing change

3 years agoMerge branch 'master' of git@git.blender.org:blender.git into blender2.8
mano-wii [Fri, 14 Jul 2017 13:42:59 +0000 (10:42 -0300)]
Merge branch 'master' of git@git.blender.org:blender.git into blender2.8

3 years agoSnap System: fix rename `ob` to `obj`
mano-wii [Fri, 14 Jul 2017 13:41:47 +0000 (10:41 -0300)]
Snap System: fix rename `ob` to `obj`

This would bring problems with dupli objects

3 years agoDepsgraph: Initial support of armatures for copy-on-write
Sergey Sharybin [Fri, 14 Jul 2017 12:56:54 +0000 (14:56 +0200)]
Depsgraph: Initial support of armatures for copy-on-write

This commit makes simple cases to work, for example:

- IK solver to an external object
- Object with Armature modifier, "parented" to the deforming armature
  (via animation).

More complicated setups (like agent rig) are crashing still.

3 years agoAnother fix for snapping after merge in 2.8
Dalai Felinto [Fri, 14 Jul 2017 13:06:17 +0000 (15:06 +0200)]
Another fix for snapping after merge in 2.8

3 years agoFix snap in 2.8 after poor merge from master
Dalai Felinto [Fri, 14 Jul 2017 12:42:15 +0000 (14:42 +0200)]
Fix snap in 2.8 after poor merge from master

If you merge from master to blender2.8 after a commit, remember to test in 2.8, otherwise what is the point?
Specially if it's a non-essential commit such as c9817c67fc141ca85a6e1f9e42d9fa.

Bug introduced on: f4155d3778ba883566eeb87d16218c4c275ffc (the merge
that included the above commit).

3 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Dalai Felinto [Fri, 14 Jul 2017 12:34:46 +0000 (14:34 +0200)]
Merge remote-tracking branch 'origin/master' into blender2.8

3 years agoRevert "Fix T51794: Crash on hair file when opening with no UI"
Dalai Felinto [Fri, 14 Jul 2017 09:44:26 +0000 (11:44 +0200)]
Revert "Fix T51794: Crash on hair file when opening with no UI"

This reverts commit 0095f4f83465bc9fdc13b79d2126f5623e291d7c.