2 years agoFix T61043: Blender crashes on VSE zoom / scroll timeline sometimes
Jörg Müller [Fri, 1 Feb 2019 14:58:12 +0000 (15:58 +0100)]
Fix T61043: Blender crashes on VSE zoom / scroll timeline sometimes

2 years agoCleanup: manually remove header text not handled by automation
Campbell Barton [Fri, 1 Feb 2019 14:45:34 +0000 (01:45 +1100)]
Cleanup: manually remove header text not handled by automation

2 years agoWorkaround for missing hair after opening the file
Sergey Sharybin [Fri, 1 Feb 2019 14:38:22 +0000 (15:38 +0100)]
Workaround for missing hair after opening the file

Restore reset on file open, at least for now.

2 years agoFix T60451: Soft body cache not being cleared when it should
Sergey Sharybin [Fri, 1 Feb 2019 13:05:00 +0000 (14:05 +0100)]
Fix T60451: Soft body cache not being cleared when it should

Manual edits to object or its dependencies should reset the
point cache. Added special relations for this now.

2 years agoCleanup: Shuffle arguments in most used order
Sergey Sharybin [Fri, 1 Feb 2019 12:43:14 +0000 (13:43 +0100)]
Cleanup: Shuffle arguments in most used order

Quite often we need to create nodes which defines various
evaluation stages.

2 years agoDepsgraph: Remove placeholder operation
Sergey Sharybin [Fri, 1 Feb 2019 10:01:12 +0000 (11:01 +0100)]
Depsgraph: Remove placeholder operation

2 years agoDepsgraph: Use scene operation code
Sergey Sharybin [Fri, 1 Feb 2019 10:00:37 +0000 (11:00 +0100)]
Depsgraph: Use scene operation code

Hopefully, this is the last one.

2 years agoDepsgraph: Use operation code for file cache update
Sergey Sharybin [Fri, 1 Feb 2019 09:57:39 +0000 (10:57 +0100)]
Depsgraph: Use operation code for file cache update

All done in separate commits, so it's easier to bisect just in case.

2 years agoDepsgraph: Use operation code for armature evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:56:01 +0000 (10:56 +0100)]
Depsgraph: Use operation code for armature evaluation

2 years agoDepsgraph: Use operation code for dupli-group
Sergey Sharybin [Fri, 1 Feb 2019 09:54:37 +0000 (10:54 +0100)]
Depsgraph: Use operation code for dupli-group

2 years agoDepsgraph: Use operation code for geometry evaluation done
Sergey Sharybin [Fri, 1 Feb 2019 09:42:50 +0000 (10:42 +0100)]
Depsgraph: Use operation code for geometry evaluation done

2 years agoDepsgraph: Use operation code for geometry evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:39:10 +0000 (10:39 +0100)]
Depsgraph: Use operation code for geometry evaluation

Affects object data datablocks. Similar to previous commit.

Should not have any functional changes, just some sanitization
to make code more clear.

2 years agoDepsgraph: Use operation code for geometry evaluation init
Sergey Sharybin [Fri, 1 Feb 2019 09:37:14 +0000 (10:37 +0100)]
Depsgraph: Use operation code for geometry evaluation init

Makes it more explicit and avoids strings comparisons during build.

2 years agoDepsgraph: More clear name for geometry evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:30:04 +0000 (10:30 +0100)]
Depsgraph: More clear name for geometry evaluation

For ears it was already how we evaluate modifiers. There is no
need to go more granular than is actually needed. And no need
to use some obscure prefix for operation.

2 years agoCleanup: Space for foreach macro
Sergey Sharybin [Fri, 1 Feb 2019 09:24:12 +0000 (10:24 +0100)]
Cleanup: Space for foreach macro

2 years agoDepsgraph: Add some sanity checks to ensure valid relations
Sergey Sharybin [Fri, 1 Feb 2019 09:22:24 +0000 (10:22 +0100)]
Depsgraph: Add some sanity checks to ensure valid relations

2 years agoCleanup: remove redundant, invalid info from headers
Campbell Barton [Fri, 1 Feb 2019 14:36:28 +0000 (01:36 +1100)]
Cleanup: remove redundant, invalid info from headers

BF-admins agree to remove header information that isn't useful,
to reduce noise.

- BEGIN/END license blocks

  Developers should add non license comments as separate comment blocks.
  No need for separator text.

- Contributors

  This is often invalid, outdated or misleading
  especially when splitting files.

  It's more useful to git-blame to find out who has developed the code.

See P901 for script to perform these edits.

2 years agoFix T61088: Cycles particle viewport render stuck in loop.
Brecht Van Lommel [Fri, 1 Feb 2019 12:56:13 +0000 (13:56 +0100)]
Fix T61088: Cycles particle viewport render stuck in loop.

Object to be instanced should not be modified.

2 years ago'make links': rename group -> collection in enum in UI
Philipp Oeser [Fri, 1 Feb 2019 09:44:41 +0000 (10:44 +0100)]
'make links': rename group -> collection in enum in UI

also rename dupli -> instance

Fixes T61086

Reviewers: billreynish

Maniphest Tasks: T61086

Differential Revision:

2 years agoWM: disable undo operators in background mode & at startup
Campbell Barton [Fri, 1 Feb 2019 03:05:33 +0000 (14:05 +1100)]
WM: disable undo operators in background mode & at startup

Show an error instead of crashing, see: T60934

2 years agoLogging: Use CLOG for blenkernel
Campbell Barton [Fri, 1 Feb 2019 01:44:19 +0000 (12:44 +1100)]
Logging: Use CLOG for blenkernel

Part of D4277 by @sobakasu

2 years agoCleanup: correct doxy headers
Campbell Barton [Thu, 31 Jan 2019 21:41:35 +0000 (08:41 +1100)]
Cleanup: correct doxy headers

2 years agoFix build errors on Visual Studio after recent changes.
Brecht Van Lommel [Thu, 31 Jan 2019 18:57:47 +0000 (19:57 +0100)]
Fix build errors on Visual Studio after recent changes.

SYNCHRONIZE is a Windows macro.

2 years agoUI: rename Free Bake to Delete Bake.
Brecht Van Lommel [Thu, 31 Jan 2019 18:49:47 +0000 (19:49 +0100)]
UI: rename Free Bake to Delete Bake.

"Free" is more of a programming term related to memory allocation, not a term
we need to use in the interface. Ref T61054.

2 years agoFix T61065: missing shader update when adding texture slot.
Brecht Van Lommel [Thu, 31 Jan 2019 18:31:43 +0000 (19:31 +0100)]
Fix T61065: missing shader update when adding texture slot.

2 years agoFix T60973: crash baking objects disabled for rendering.
Brecht Van Lommel [Thu, 31 Jan 2019 17:09:36 +0000 (18:09 +0100)]
Fix T60973: crash baking objects disabled for rendering.

2 years agoFix T61072: missing viewport update when setting render border in image editor.
Brecht Van Lommel [Thu, 31 Jan 2019 17:00:46 +0000 (18:00 +0100)]
Fix T61072: missing viewport update when setting render border in image editor.

2 years agoFix T61013: changing top/status bar editor type can be changed with shortcut.
Brecht Van Lommel [Thu, 31 Jan 2019 15:55:04 +0000 (16:55 +0100)]
Fix T61013: changing top/status bar editor type can be changed with shortcut.

2 years agoCleanup: avoid some unnecessary inverse matrix math.
Brecht Van Lommel [Thu, 31 Jan 2019 11:36:00 +0000 (12:36 +0100)]
Cleanup: avoid some unnecessary inverse matrix math.

2 years agoFix wrong sculpt constant detail description.
Brecht Van Lommel [Thu, 31 Jan 2019 14:55:33 +0000 (15:55 +0100)]
Fix wrong sculpt constant detail description.

2 years agoFix T60836: Stretch to flickers when vertex group is used
Sergey Sharybin [Thu, 31 Jan 2019 16:57:01 +0000 (17:57 +0100)]
Fix T60836: Stretch to flickers when vertex group is used

Missing relation to object transform. Needed to convert vertex
position from local target object space to a local space of the

2 years agoFix T61046: Object with cloth jumps around
Sergey Sharybin [Thu, 31 Jan 2019 16:38:01 +0000 (17:38 +0100)]
Fix T61046: Object with cloth jumps around

Was happening due to missing relation from geometry to
transform component. Did not happen in old dependency
graph because that one could never evaluate geometry
prior to transform.

2 years agoFix T61061: Scopes in image editor are not updating
Sergey Sharybin [Thu, 31 Jan 2019 16:15:24 +0000 (17:15 +0100)]
Fix T61061: Scopes in image editor are not updating

Scopes were moved to properties area, so need to adjust
the optimization part of tagging.

Ideally, tagging will always happen (and happen for free)
and then drawing code will update scopes when they are
actually displayed. But this is outside of the scope of
this fix since requires some design changes.

2 years agoFix T59339: Particle render without baking issues
Sergey Sharybin [Thu, 31 Jan 2019 15:53:19 +0000 (16:53 +0100)]
Fix T59339: Particle render without baking issues

The issue was caused by dependency graph resetting particles
when evaluating copy-on-write version of object. Solved by
only doing reset from dependency graph on user edits.

Other issue was caused by modifier itself trying to compare
topology and reset particles when number of vertices or faces
changed. This isn't reliable, since topology might change even
with same number of elements. But also, since copy-on-written
object initially always have those fields zero-ed the reset
was happening on every F12.

The latter issue is solved by moving reset from modifier stack
to places where we exit edit/paint modes which might be changing

There is still weird issue of particles generated at some
weird location after tapping tab twice, but this is not a new
issue in 2.8 branch and is to be looked separately.

2 years agoParticles: Fixes for synchronization to original
Sergey Sharybin [Thu, 31 Jan 2019 13:57:58 +0000 (14:57 +0100)]
Particles: Fixes for synchronization to original

Was missing synchronization of current frame to the original one,
which is one of the issues why point cache does not properly reset
on edits.

Also clear recalc flag on original particle system.

Ideally we need to get rid of recalc on a particle system, since
that is not really covered by tagging system of dependency graph.

2 years agoRemove direct shape key drivers evaluaiton in object update
Sergey Sharybin [Thu, 31 Jan 2019 12:02:09 +0000 (13:02 +0100)]
Remove direct shape key drivers evaluaiton in object update

This is now hanbdled by the nodes in dependency graph.

2 years agoDepsgraph: Comb code to a better state all over
Sergey Sharybin [Thu, 31 Jan 2019 11:56:40 +0000 (12:56 +0100)]
Depsgraph: Comb code to a better state all over

Some summary of changes:

- Don't use DEG prefix for types and enumerator values:
  the code is already inside DEG namespace.

- Put code where it locally belongs to: avoid having one
  single header file with all sort of definitions in it.

- Take advantage of modern C++11 enabled by default.

2 years agoAdd C++ guards to some blenlib headers
Sergey Sharybin [Thu, 31 Jan 2019 13:22:46 +0000 (14:22 +0100)]
Add C++ guards to some blenlib headers

2 years agoFix T61030: Drivers for shape keys not evaluated in correct order
Sergey Sharybin [Thu, 31 Jan 2019 09:40:38 +0000 (10:40 +0100)]
Fix T61030: Drivers for shape keys not evaluated in correct order

Was happening when value of one shape key was driving property of
another shape key of same datablock.

Solved by making shape key blocks properties more granular.

2 years agoDepsgraph: Specify whether RNA path to be resolved as entry or exit
Sergey Sharybin [Thu, 31 Jan 2019 09:18:39 +0000 (10:18 +0100)]
Depsgraph: Specify whether RNA path to be resolved as entry or exit

Makes it more explicit whether RNA property is used as a source
dependency for something else, or whether some other dependency
is being hooked up to evaluate that property.

2 years agoCleanup: Spelling in comment
Sergey Sharybin [Thu, 31 Jan 2019 08:59:05 +0000 (09:59 +0100)]
Cleanup: Spelling in comment

2 years agoDepsgraph: Use more correct update source for an internal tags
Sergey Sharybin [Wed, 30 Jan 2019 10:23:44 +0000 (11:23 +0100)]
Depsgraph: Use more correct update source for an internal tags

Dependency graph will poke some IDs for recalc after finishing building.
Those shouldn't be considered as a user edit.

2 years agoDepsgraph: Use more clear name for enumerator
Sergey Sharybin [Wed, 30 Jan 2019 10:21:34 +0000 (11:21 +0100)]
Depsgraph: Use more clear name for enumerator

Matches enumerator items and type name.

2 years agoFix T61032: Switching to sculpt tab causes undo to set object mode
Campbell Barton [Thu, 31 Jan 2019 11:55:29 +0000 (22:55 +1100)]
Fix T61032: Switching to sculpt tab causes undo to set object mode

Workspace switching changed modes w/o the 3D view,
causing sculpt undo's poll function to fail.

Applied the same logic for texture paint too.

2 years agoFix T60996: Dyntopo flood fill fails due to missing ob->imat
Jacques Lucke [Thu, 31 Jan 2019 11:42:51 +0000 (12:42 +0100)]
Fix T60996: Dyntopo flood fill fails due to missing ob->imat

Reviewers: brecht

Differential Revision:

2 years agoFix: allow curve of driver to be evaluated individually
Jacques Lucke [Thu, 31 Jan 2019 11:17:43 +0000 (12:17 +0100)]
Fix: allow curve of driver to be evaluated individually

This is necessary when adding a new keyframe to a fcurve
that also has a driver.

Reviewers: brecht, campbellbarton

Differential Revision:

2 years agoFix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.
Brecht Van Lommel [Tue, 29 Jan 2019 10:59:17 +0000 (11:59 +0100)]
Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.

This removes a bunch of animation/driver evaluations and recalc flags that
should be redundant in the new depsgraph, and were incorrectly affecting
the evaluated scene in a permanent way.

Still two cases that could be removed if the depsgraph is improved, in
BKE_object_handle_data_update and BKE_cachefile_update_frame.

For physics subframe interpolation there are also still calls to
BKE_object_where_is_calc that should ideally be removed as well, though
they are not known to cause keyframing bugs.

Differential Revision:

2 years agoDepsgraph: remove features incompatible with new system.
Brecht Van Lommel [Mon, 28 Jan 2019 16:52:46 +0000 (17:52 +0100)]
Depsgraph: remove features incompatible with new system.

Some features are incompatible with multithreading and reliable evaluation
of dependencies. We are now removing them as part of a bigger cleanup to
fix bugs in keyframing and invalid animation evaluations.

* Dupliframes have been removed. This was a hack added before there were
  more powerful features like the array modifier.
* Slow parent has been removed, never worked in 2.8. It was always
  unreliable for use in production due to depending on whatever frame was
  previously evaluated, which was not always the previous frame.
* Particle instanced objects used to have their transform evaluated at
  the particle time. Now it always gets the current time transform.
* Boids can no longer do predictive avoidance of force field objects,
  but still for other particles.

Differential Revision:

2 years agoFix T60432: Blender crashes when dragging objects from other scene from outliner.
Bastien Montagne [Thu, 31 Jan 2019 10:02:51 +0000 (11:02 +0100)]
Fix T60432: Blender crashes when dragging objects from other scene from outliner.

2 years agoSculpt: disable undo flag for sculpt mask lasso
Campbell Barton [Thu, 31 Jan 2019 07:48:59 +0000 (18:48 +1100)]
Sculpt: disable undo flag for sculpt mask lasso

While this is harmless, it did cause T55399 in the past.

Sculpt adds it's own undo steps, so don't request the operator type
to do it too.

This is consistent with other sculpt operators.

2 years agoFix T59293: Can't assign shortcut to undo history
Campbell Barton [Thu, 31 Jan 2019 06:27:46 +0000 (17:27 +1100)]
Fix T59293: Can't assign shortcut to undo history

2 years agoCleanup: use doxy comments, clarify some text
Campbell Barton [Thu, 31 Jan 2019 05:22:25 +0000 (16:22 +1100)]
Cleanup: use doxy comments, clarify some text

2 years agoFix edit-mesh undo using the current selection
Campbell Barton [Thu, 31 Jan 2019 05:02:23 +0000 (16:02 +1100)]
Fix edit-mesh undo using the current selection

Any meshes selected would be added to the mode when reading undo.

2 years agoCleanup: style, unused variable
Campbell Barton [Thu, 31 Jan 2019 04:54:37 +0000 (15:54 +1100)]
Cleanup: style, unused variable

2 years agoCleanup: remove EM_IGNORE_LAYER
Campbell Barton [Thu, 31 Jan 2019 04:36:24 +0000 (15:36 +1100)]
Cleanup: remove EM_IGNORE_LAYER

Call ED_object_editmode_enter_ex instead.

2 years agoFix T61047: Undo editmesh separate crashes
Campbell Barton [Thu, 31 Jan 2019 04:06:00 +0000 (15:06 +1100)]
Fix T61047: Undo editmesh separate crashes

Favour G_MAIN in functions that might free it.

2 years agoFix image paint undo memory leak
Campbell Barton [Thu, 31 Jan 2019 01:35:12 +0000 (12:35 +1100)]
Fix image paint undo memory leak

2 years agoFix T60660: Texture paint undo removes image
Campbell Barton [Thu, 31 Jan 2019 01:01:38 +0000 (12:01 +1100)]
Fix T60660: Texture paint undo removes image

2 years agoUndo System: add Main argument to encode/decode
Campbell Barton [Thu, 31 Jan 2019 00:34:57 +0000 (11:34 +1100)]
Undo System: add Main argument to encode/decode

Needed since we don't always have the context,
and avoids adding G_MAIN into undo callbacks.

2 years agoFix T61028: Crash when entering wireframe view
Clément Foucault [Thu, 31 Jan 2019 00:33:59 +0000 (01:33 +0100)]
Fix T61028: Crash when entering wireframe view

2 years agoCleanup: add trailing commas
Campbell Barton [Wed, 30 Jan 2019 21:28:56 +0000 (08:28 +1100)]
Cleanup: add trailing commas

Improve clang-format output.

2 years agoFix T60378: All armatures reset positions on linked collection when ctrl+z used on...
Bastien Montagne [Wed, 30 Jan 2019 19:32:28 +0000 (20:32 +0100)]
Fix T60378: All armatures reset positions on linked collection when ctrl+z used on anything.

Issue actually exists since ages, probably 2.7x update system forced all
armature proxies to be fully refreshed after an undo?

In any case, proxy_from should only be reset for 'local' proxies (i.e.
directly linked datablocks), not for linked proxies...

2 years agoMerge branch 'blender2.7'
Brecht Van Lommel [Wed, 30 Jan 2019 17:36:54 +0000 (18:36 +0100)]
Merge branch 'blender2.7'

2 years agoCleanup: use better names for depsgraph driver relations.
Brecht Van Lommel [Wed, 30 Jan 2019 12:31:44 +0000 (13:31 +0100)]
Cleanup: use better names for depsgraph driver relations.

Both the driven properties and driver targets were called targets, now make
a distinction.

2 years agoGP: Remove DEG_get_original_id() from draw manager
Antonioya [Wed, 30 Jan 2019 15:26:06 +0000 (16:26 +0100)]
GP: Remove DEG_get_original_id() from draw manager

Only keep this function when drawing to avoid COW overhead that reduce performance.

After some changes I did some time ago, the use of original ID was not required and this only added depsgraph overhead and problems.

This change solves the problems with updates in render mode.

Related to T57484 and the changes requested by Sergey.

2 years agoFix T61017: node_shader_utils did not handle diffuse_color correctly
Jacques Lucke [Wed, 30 Jan 2019 13:37:09 +0000 (14:37 +0100)]
Fix T61017: node_shader_utils did not handle diffuse_color correctly

2 years agoFix default material using zero alpha
Campbell Barton [Wed, 30 Jan 2019 12:53:40 +0000 (23:53 +1100)]
Fix default material using zero alpha

2 years agoFix (unreported) memleak when copying object and its material with GP settings.
Bastien Montagne [Wed, 30 Jan 2019 11:00:58 +0000 (12:00 +0100)]
Fix (unreported) memleak when copying object and its material with GP settings.

Like... seriously?

2 years agoFix T60957: ASSERT when reloading double-linked file.
Bastien Montagne [Wed, 30 Jan 2019 10:46:49 +0000 (11:46 +0100)]
Fix T60957: ASSERT when reloading double-linked file.

Kind of funny to see that this has been missing presumably since the
first version of library linking in Blender, and only gets noticed now.
Then again, that was not really a critical issue, iirc write code
ensures all libraries directly used get properly written, even if flags
are incorrect.

2 years agoCleanup: use proper bitflag operators.
Bastien Montagne [Wed, 30 Jan 2019 10:38:13 +0000 (11:38 +0100)]
Cleanup: use proper bitflag operators.

2 years agoCleanup: Unused function argument
Sergey Sharybin [Wed, 30 Jan 2019 10:02:06 +0000 (11:02 +0100)]
Cleanup: Unused function argument

2 years agoCycles: improved rounding of sample chunks for resumable renders
Sybren A. Stüvel [Tue, 29 Jan 2019 17:08:12 +0000 (18:08 +0100)]
Cycles: improved rounding of sample chunks for resumable renders

When using `--cycles-resumable-num-chunks N` to render a subset of the
samples, having N close to the total number of samples causes rounding

For example, a file configured for 250 samples and 150 chunks should
have 1.6666 sample per chunk. The old code rounded this to 2 samples per
chunk, which would result in too many samples being rendered. When
rendering a single chunk this doesn't matter much, but when larger chunk
ranges are rendered with `--cycles-resumable-start-chunk` and
`--cycles-resumable-end-chunk` the rounding errors start to add up.

By multiplying with the number of chunks to render first, and only round
to integers after that, this issue is solved. In the above example,
rendering 3 chunks will correctly render 5 samples rather than 6.

When the requested number of chunks is larger than the number of samples
there will be duplicate samples (that is, sample N appearing both in
chunk M and M+1). In this case a warning is printed to stderr.

This is needed for T50977 Progressive render: use non-uniform sample

Reviewed by: sergey

Differential Revision:

2 years agoFix T60974: Dyntopo crash on undo after object deleted
Campbell Barton [Wed, 30 Jan 2019 09:44:15 +0000 (20:44 +1100)]
Fix T60974: Dyntopo crash on undo after object deleted

Add the ability for undo steps to request memfile undo step added after
them, useful for mode switching, where we need the data to exist for
undo to enter the mode.

2 years agoVersioning: add renaming utility function
Campbell Barton [Tue, 29 Jan 2019 22:36:38 +0000 (09:36 +1100)]
Versioning: add renaming utility function

Avoids accidents creating duplicate names.

Also ensure screens are sorted on rename.

2 years agoCleanup: line length
Campbell Barton [Tue, 29 Jan 2019 22:03:37 +0000 (09:03 +1100)]
Cleanup: line length

2 years agoPartial fix for T60982: Editable anim settings in linked action.
Bastien Montagne [Tue, 29 Jan 2019 20:47:15 +0000 (21:47 +0100)]
Partial fix for T60982: Editable anim settings in linked action.

This is only partially working, because some bAnimListElem items do not
have any ID pointer set (for wome mysterious reason...), notably the
'group' ones.

Will re-assign to @aligorith for that, this code is rather complicated
and hard to follow (with all those macros ;) ).

2 years agoCleanup: typo in comment.
Bastien Montagne [Tue, 29 Jan 2019 20:46:59 +0000 (21:46 +0100)]
Cleanup: typo in comment.

2 years agoWorkbench: Make Material transparency part of the rgba color picker
Clément Foucault [Tue, 29 Jan 2019 19:33:51 +0000 (20:33 +0100)]
Workbench: Make Material transparency part of the rgba color picker

It is only used for solid mode for now but could be used by eevee in the

2 years agoWorkbench: Opti: Only request OIT buffers if needed
Clément Foucault [Tue, 29 Jan 2019 18:57:12 +0000 (19:57 +0100)]
Workbench: Opti: Only request OIT buffers if needed

2 years agoWorkbench: Support transparency from object color alpha
Clément Foucault [Tue, 29 Jan 2019 18:56:22 +0000 (19:56 +0100)]
Workbench: Support transparency from object color alpha

Support the alpha channel use of the object color in solid mode.

The Transparency effect is still using the Xray algorithm and not
true Alpha blending.

2 years agoUI: Add Dynamic Topology toggle entry to Sculpt menu
Pablo Vazquez [Tue, 29 Jan 2019 17:58:34 +0000 (18:58 +0100)]
UI: Add Dynamic Topology toggle entry to Sculpt menu

Helps to find the shortcut (Ctrl+D) which wasn't exposed anywhere else than in search.

2 years agoFix: Add units to text offset_x and offset_y properties
Joel Godin [Tue, 29 Jan 2019 17:31:39 +0000 (18:31 +0100)]
Fix: Add units to text offset_x and offset_y properties

Differential Revision:

2 years agoFix T60067: some modifiers don't use shape keys correctly
Jacques Lucke [Tue, 29 Jan 2019 16:57:21 +0000 (17:57 +0100)]
Fix T60067: some modifiers don't use shape keys correctly

2 years agoCycles: delay CUDA and OpenCL initialization to avoid driver crashes.
Brecht Van Lommel [Tue, 29 Jan 2019 15:39:30 +0000 (16:39 +0100)]
Cycles: delay CUDA and OpenCL initialization to avoid driver crashes.

We've had many reported crashes on Windows where we suspect there is a
corrupted OpenCL driver. The purpose here is to keep Blender generally
usable in such cases.

Now it always shows None / CUDA / OpenCL in the preferences, and only when
selecting one will it reveal if there are any GPUs available. This should
avoid crashes when opening the preferences or on startup.

Differential Revision:

2 years agoAdd missing Shader FX remapping to library query
Sergey Sharybin [Tue, 29 Jan 2019 14:41:00 +0000 (15:41 +0100)]
Add missing Shader FX remapping to library query

2 years agoWorkbench: Add "Shadow" factor to Xray
Clément Foucault [Tue, 29 Jan 2019 02:46:57 +0000 (03:46 +0100)]
Workbench: Add "Shadow" factor to Xray

This just maintain more parity accross the 2 visuals. Note that this is not
"real shadowing" just the facing factor shadowing.

2 years agoWorkbench: Add transparency support for materials
Clément Foucault [Tue, 29 Jan 2019 02:06:59 +0000 (03:06 +0100)]
Workbench: Add transparency support for materials

This adds the posibility of having certain materials transparent in solid
mode. The option is (for now) per material only and thus only shows in
material color mode.

This uses the same rendering technique as Xray mode.

Note that objects are not considered transparent for selection with this.

2 years agoObject Mode: Fix reading past buffer end when drawing camera
Clément Foucault [Tue, 29 Jan 2019 01:41:16 +0000 (02:41 +0100)]
Object Mode: Fix reading past buffer end when drawing camera

2 years agoWorkbench: Depth Of Field: Improve noise and Large radius
Clément Foucault [Mon, 28 Jan 2019 17:49:00 +0000 (18:49 +0100)]
Workbench: Depth Of Field: Improve noise and Large radius

- Add noise to remove undersampling artifact
- Create 2 mipmaps to the scene color buffer in order to have bigger blurs
- Replace blur2 with a 3x3 median filter that doesn't dilate the highlights
- Use temporal accumulation to remove noise

For some reason all of this exacerbate some bleeding issues happening on
far foreground elements from near foreground elements. The actual problem
was already happening before but was not really noticeable. It needs some
more work to be fixed.

2 years agoFix duplicate brushes from recent startup files
Campbell Barton [Tue, 29 Jan 2019 12:43:11 +0000 (23:43 +1100)]
Fix duplicate brushes from recent startup files

Default versioning caused duplicates when the startup was re-saved.

See c305759762aa3

2 years agoFix T60226: Inset not working well on very small faces
Jacques Lucke [Tue, 29 Jan 2019 12:39:21 +0000 (13:39 +0100)]
Fix T60226: Inset not working well on very small faces

The inset operator uses 0.01 as default for the inset.
When the face is very small than this default is very confusing (see T60226).

The simplest fix seems to be to just use 0 as default.
This is similar to the extrude operator which uses 0 as default as well.

Reviewers: brecht, campbellbarton

Differential Revision:

2 years agoBevel - better corner shapes for inner arc miters.
Howard Trickey [Tue, 29 Jan 2019 12:21:59 +0000 (07:21 -0500)]
Bevel - better corner shapes for inner arc miters.

The subdivision method for getting corner shapes has a fullness
parameter which had been set by eye before. This change uses fullness
as found by offline search process to best match the superellipsoid
octant in the cube corner case (except cube corner case is still handled
by other code). This somewhat improves the look of cube corners with
inner arc miters, however.

2 years agoRevert "3D Text: avoid checking null character's text on path"
Campbell Barton [Tue, 29 Jan 2019 11:50:55 +0000 (22:50 +1100)]
Revert "3D Text: avoid checking null character's text on path"

This reverts commit 8a379e3460048906306042145052d5d7f3bb859c.

Caused T58284

2 years agoRevert "3D Text: avoid checking null character's text on path"
Campbell Barton [Tue, 29 Jan 2019 11:50:55 +0000 (22:50 +1100)]
Revert "3D Text: avoid checking null character's text on path"

This reverts commit 8a379e3460048906306042145052d5d7f3bb859c.

Caused T58284

2 years agoFix T59924: Blender 2.8 particle system error
Sergey Sharybin [Tue, 29 Jan 2019 09:16:16 +0000 (10:16 +0100)]
Fix T59924: Blender 2.8 particle system error

Was missing relation from particle keyed targets to the
particle system, which caused some race conditions.

2 years agoDRW: support clipping for all lamp types
Campbell Barton [Tue, 29 Jan 2019 08:57:35 +0000 (19:57 +1100)]
DRW: support clipping for all lamp types

2 years agoFix CLOG_STR_AT_SEVERITY macro
Campbell Barton [Tue, 29 Jan 2019 06:28:44 +0000 (17:28 +1100)]

Part of D4277 by @sobakasu

2 years agoFix duplicate brushes being added to startup
Campbell Barton [Tue, 29 Jan 2019 05:19:28 +0000 (16:19 +1100)]
Fix duplicate brushes being added to startup

All builtin templates have this brush.

2 years agoFix T60809: Crash undoing object rename in edit-mode
Campbell Barton [Tue, 29 Jan 2019 03:31:00 +0000 (14:31 +1100)]
Fix T60809: Crash undoing object rename in edit-mode

Currently names are used for edit-mode undo-steps,
any changes to Main ID names cause lookup failure (crashing).

This commit ensures any undo steps that use ID lookups have the same
mem-file undo state loaded that was used to encode the steps.

Renaming also has an undo push added (last commit).

2 years agoLibrary: tag memfile undo for writing after rename
Campbell Barton [Tue, 29 Jan 2019 03:28:55 +0000 (14:28 +1100)]
Library: tag memfile undo for writing after rename

Needed for T60809 fix.