blender.git
22 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Mon, 17 Sep 2018 17:40:39 +0000 (19:40 +0200)]
Merge branch 'master' into blender2.8

22 months agoInstall_deps: workaround building bloody broken OpenEXR release.
Bastien Montagne [Mon, 17 Sep 2018 17:39:21 +0000 (19:39 +0200)]
Install_deps: workaround building bloody broken OpenEXR release.

22 months agoCycles: Cleanup, remove dead code
Sergey Sharybin [Mon, 17 Sep 2018 16:07:22 +0000 (18:07 +0200)]
Cycles: Cleanup, remove dead code

22 months agoCycles: Remove unused malformed function
Sergey Sharybin [Mon, 17 Sep 2018 16:05:32 +0000 (18:05 +0200)]
Cycles: Remove unused malformed function

This isn't really possible to do the shuffle which was attempted to do.

While it's possible to achieve expected behavior, the function needs to
be rewritten. Since it's not used anyway, it's simpler to remove it for
now.

22 months agoCycles: Use proper mask for vectrorized boolean print
Sergey Sharybin [Mon, 17 Sep 2018 16:02:01 +0000 (18:02 +0200)]
Cycles: Use proper mask for vectrorized boolean print

22 months agobuild_environment: force a consistent libdir across Linux distributions.
Ray Molenkamp [Mon, 17 Sep 2018 14:13:08 +0000 (08:13 -0600)]
build_environment: force a consistent libdir across Linux distributions.

on some distributions libs ended up in lib64 confusing the cmake builder.

22 months agoEevee: Fix shader linking error with volumetric shaders
Clément Foucault [Mon, 17 Sep 2018 13:08:14 +0000 (15:08 +0200)]
Eevee: Fix shader linking error with volumetric shaders

22 months agoEevee: Fix crash when using refraction with alpha clip blend mode
Clément Foucault [Mon, 17 Sep 2018 12:46:22 +0000 (14:46 +0200)]
Eevee: Fix crash when using refraction with alpha clip blend mode

22 months agoFix object selection with eyerdropper not respecting property poll function.
Brecht Van Lommel [Mon, 17 Sep 2018 10:16:27 +0000 (12:16 +0200)]
Fix object selection with eyerdropper not respecting property poll function.

22 months agoFix T56800: Reflection Plane in Eevee crashes Blender
Clément Foucault [Mon, 17 Sep 2018 10:20:44 +0000 (12:20 +0200)]
Fix T56800: Reflection Plane in Eevee crashes Blender

22 months agoFix T56803: Indirect lightning bake crashes Blender
Clément Foucault [Mon, 17 Sep 2018 09:53:43 +0000 (11:53 +0200)]
Fix T56803: Indirect lightning bake crashes Blender

22 months agoFix T56801: Enabling smoke crashes Blender.
Clément Foucault [Mon, 17 Sep 2018 09:31:07 +0000 (11:31 +0200)]
Fix T56801: Enabling smoke crashes Blender.

22 months agoDepsgraph: Cleanup, indentation
Sergey Sharybin [Fri, 14 Sep 2018 13:53:52 +0000 (15:53 +0200)]
Depsgraph: Cleanup, indentation

22 months agoDepsgraph: Gnuplot, put heaviest objects at the top
Sergey Sharybin [Fri, 14 Sep 2018 13:47:37 +0000 (15:47 +0200)]
Depsgraph: Gnuplot, put heaviest objects at the top

22 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Mon, 17 Sep 2018 08:23:55 +0000 (10:23 +0200)]
Merge branch 'master' into blender2.8

22 months agoFix T56811: Do not show cancel button for jobs when UI is locked.
Bastien Montagne [Mon, 17 Sep 2018 08:22:00 +0000 (10:22 +0200)]
Fix T56811: Do not show cancel button for jobs when UI is locked.

Since that button is then totally useless and unusable...

22 months agoUI: show steps for spin tool
Campbell Barton [Mon, 17 Sep 2018 04:52:54 +0000 (14:52 +1000)]
UI: show steps for spin tool

22 months agoGizmo: start spin gizmo dragging
Campbell Barton [Mon, 17 Sep 2018 04:34:51 +0000 (14:34 +1000)]
Gizmo: start spin gizmo dragging

- Only respond to drag event, so placing the cursor is possible.
- Start off with zero rotation, dragging adjusts.

22 months agoGizmo: Functions to re-initialize a group type
Campbell Barton [Mon, 17 Sep 2018 04:28:47 +0000 (14:28 +1000)]
Gizmo: Functions to re-initialize a group type

Partially re-initializing a gizmo is often more trouble then removing
and re-adding.

22 months agoGizmo: only respond to mouse-move events
Campbell Barton [Mon, 17 Sep 2018 04:30:00 +0000 (14:30 +1000)]
Gizmo: only respond to mouse-move events

Missed in recent update to event handling.

22 months agoCleanup: use SCE_GIZMO_ prefix for gizmo_flag
Campbell Barton [Mon, 17 Sep 2018 02:51:32 +0000 (12:51 +1000)]
Cleanup: use SCE_GIZMO_ prefix for gizmo_flag

22 months agoCleanup: rename gizmo group data
Campbell Barton [Mon, 17 Sep 2018 02:47:45 +0000 (12:47 +1000)]
Cleanup: rename gizmo group data

Abbreviate to 'ggd', replacing manipulator reference.

22 months agoRevert "Cleanup: use tuples in python according to feedback"
Campbell Barton [Sun, 16 Sep 2018 23:00:46 +0000 (09:00 +1000)]
Revert "Cleanup: use tuples in python according to feedback"

This reverts commit b1f0e4c2d673320085cd5e1c68f4f5f814bacede.

Sets are typically preferred for __contains__ checks
when order doesn't matter.

22 months agoFix T56817: Assert because of invalid framebuffer
Clément Foucault [Sun, 16 Sep 2018 19:22:55 +0000 (21:22 +0200)]
Fix T56817: Assert because of invalid framebuffer

22 months agoFix driver expression bytecode validation crash if parsing fails.
Alexander Gavrilov [Sun, 16 Sep 2018 07:46:28 +0000 (10:46 +0300)]
Fix driver expression bytecode validation crash if parsing fails.

Another NULL pointer access: nothing to validate if it already failed.

22 months agoGP: Rename select group color to materials
Antonioya [Sun, 16 Sep 2018 07:32:41 +0000 (09:32 +0200)]
GP: Rename select group color to materials

22 months agoFix a crash when a driver expression evaluates to NaN.
Alexander Gavrilov [Sun, 16 Sep 2018 06:06:21 +0000 (09:06 +0300)]
Fix a crash when a driver expression evaluates to NaN.

The debug logging statement was accessing a NULL pointer.
Also happens in 2.79.

22 months agoGP: Initialize new brush factors
Antonioya [Sat, 15 Sep 2018 17:26:01 +0000 (19:26 +0200)]
GP: Initialize new brush factors

22 months agoCleanup: use tuples in python according to feedback
Ines Almeida [Sat, 15 Sep 2018 15:28:20 +0000 (17:28 +0200)]
Cleanup: use tuples in python according to feedback

22 months agoCleanup: style
Campbell Barton [Fri, 14 Sep 2018 22:08:43 +0000 (08:08 +1000)]
Cleanup: style

22 months agoPyDoc: add gpu.shader
Campbell Barton [Fri, 14 Sep 2018 22:00:47 +0000 (08:00 +1000)]
PyDoc: add gpu.shader

Also some syntax corrections.

22 months agoCleanup: use r_ prefix for return args
Campbell Barton [Fri, 14 Sep 2018 22:00:29 +0000 (08:00 +1000)]
Cleanup: use r_ prefix for return args

22 months agoGPUTexture: Fix problem with glGenerateMipmap
Clément Foucault [Fri, 14 Sep 2018 22:10:27 +0000 (00:10 +0200)]
GPUTexture: Fix problem with glGenerateMipmap

Fix T56789: There was issue with certain driver with glGenerateMipmap and
GPU_DEPTH_COMPONENT24.
In this case we just create a complete texture with mipmaps manually
without downsampling / initializing the data.

22 months agoGP: Improve errase panel and toolbars
Antonioya [Fri, 14 Sep 2018 20:52:01 +0000 (22:52 +0200)]
GP: Improve errase panel and toolbars

Some names were not clear enough and some parameters were missing.

22 months agoGP: Add pressure option to eraser size
Antonioya [Fri, 14 Sep 2018 20:24:03 +0000 (22:24 +0200)]
GP: Add pressure option to eraser size

22 months agoGP: Some changes to eraser panel
Antonioya [Fri, 14 Sep 2018 19:58:29 +0000 (21:58 +0200)]
GP: Some changes to eraser panel

22 months agoObject Mode: Draw object center after the floorgrid
Clément Foucault [Fri, 14 Sep 2018 16:31:54 +0000 (18:31 +0200)]
Object Mode: Draw object center after the floorgrid

22 months agoObject Mode: Make Flat object selectable in ortho view ...
Clément Foucault [Fri, 14 Sep 2018 16:31:27 +0000 (18:31 +0200)]
Object Mode: Make Flat object selectable in ortho view ...

... when wireframe is enabled

22 months agoObject Mode: Make Flat object outline visible in orthographic view
Clément Foucault [Fri, 14 Sep 2018 16:30:26 +0000 (18:30 +0200)]
Object Mode: Make Flat object outline visible in orthographic view

22 months agoMotion Paths: interactively update current frame location while dragging.
Brecht Van Lommel [Fri, 14 Sep 2018 12:03:31 +0000 (14:03 +0200)]
Motion Paths: interactively update current frame location while dragging.

22 months agoMotion Paths: only update once when transforming multiple bones or objects.
Brecht Van Lommel [Fri, 14 Sep 2018 11:59:58 +0000 (13:59 +0200)]
Motion Paths: only update once when transforming multiple bones or objects.

22 months agoFix object motion paths not updating correct after filtering optimization.
Brecht Van Lommel [Fri, 14 Sep 2018 12:32:41 +0000 (14:32 +0200)]
Fix object motion paths not updating correct after filtering optimization.

22 months agoFix OpenColorIO link errors in some Linux builds.
Brecht Van Lommel [Fri, 14 Sep 2018 14:27:11 +0000 (16:27 +0200)]
Fix OpenColorIO link errors in some Linux builds.

The library can get installed in a lib/static subdirectory, so search there
as well now.

22 months agoFix OpenColorIO link errors in some Linux builds.
Brecht Van Lommel [Fri, 14 Sep 2018 14:27:11 +0000 (16:27 +0200)]
Fix OpenColorIO link errors in some Linux builds.

The library can get installed in a lib/static subdirectory, so search there
as well now.

22 months agoGP: Fix T56802 - Add/Delete Vertex Group crashes
Antonioya [Fri, 14 Sep 2018 14:08:54 +0000 (16:08 +0200)]
GP: Fix T56802 - Add/Delete Vertex Group crashes

22 months agoCloth: Improve UI
Luca Rood [Fri, 14 Sep 2018 13:46:55 +0000 (15:46 +0200)]
Cloth: Improve UI

This reorganizes the cloth UI, and changes some of the behaviour to be
more reasonable.

Changes included here:
* Reorganized cloth panels
* Improved some tooltips
* Removed `vel_damping` option
* Removed cloth pinning checkbox
* Removed stiffness scaling checkbox
* Separated shrinking from sewing
* Separated self collisions from object collisions

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3691

22 months agoGPU module: Initial implementation of the `gpu.shader` submodule.
mano-wii [Fri, 14 Sep 2018 12:32:19 +0000 (09:32 -0300)]
GPU module: Initial implementation of the `gpu.shader` submodule.

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

22 months agoDepsgraph: Use default visibility of false
Sergey Sharybin [Fri, 14 Sep 2018 12:27:49 +0000 (14:27 +0200)]
Depsgraph: Use default visibility of false

Avoids invisible objects from being considered visible when they
are used as driver variables.

If those cases are actually coming from a visible object, then
deg_graph_build_flush_visibility() will ensure visibility is
properly flushed there.

22 months agoDepsgraph: Respect parent object visibility in more places
Sergey Sharybin [Fri, 14 Sep 2018 12:02:05 +0000 (14:02 +0200)]
Depsgraph: Respect parent object visibility in more places

Mainly coverts object->parent and pose constraints.

22 months agoDepsgraph: Make indirectly linked objects inherit visibility from parent
Sergey Sharybin [Fri, 14 Sep 2018 10:26:49 +0000 (12:26 +0200)]
Depsgraph: Make indirectly linked objects inherit visibility from parent

This way objects which are pulled into dependency graph via modifier
stack from an invisible object will be invisible.

22 months agoDepsgraph: Use explicit argument values
Sergey Sharybin [Fri, 14 Sep 2018 10:53:35 +0000 (12:53 +0200)]
Depsgraph: Use explicit argument values

22 months agoMultires: Initial work to get sculpting to work with OpenSubdiv
Sergey Sharybin [Fri, 14 Sep 2018 08:56:54 +0000 (10:56 +0200)]
Multires: Initial work to get sculpting to work with OpenSubdiv

Allows to go to sculpt mode, do brush strokes, get out of sculpt mode
and have deformation preserved.

The issues currently is that the current implementation of CCG
storage is created from the limit surface, without displacement
taken into account. It is trivial to get displaced coordinates,
but it is more tricky to get displaced normals. This is something
to be solved next.

Another limitation is that this only works for sculpting at a maximal
multires level. There is code to be done to support propagation
of displacement onto a higher levels.

22 months agoSubdiv: Cleanup, variable name spelling
Sergey Sharybin [Thu, 13 Sep 2018 15:45:33 +0000 (17:45 +0200)]
Subdiv: Cleanup, variable name spelling

22 months agoSculpting: Fix wrong object was using for PBVH
Sergey Sharybin [Thu, 13 Sep 2018 15:43:13 +0000 (17:43 +0200)]
Sculpting: Fix wrong object was using for PBVH

The function is supposed to be called for original object.
Draw manager abuses this a bit, will solve later by moving
PBVH (re)creation to dependency graph.

At the time being, stop adding object evaluation to draw
manager, this is really where it does not belong to.

22 months agoSubdiv: Cache Subdiv in CCG surface
Sergey Sharybin [Thu, 13 Sep 2018 09:29:08 +0000 (11:29 +0200)]
Subdiv: Cache Subdiv in CCG surface

Allows to do re-shaping easier, since we will know for sure
what was the limit surface the CCG is created for.

22 months agoGPUBuffers: Rework support for pbvh grids + fast navigate
Clément Foucault [Fri, 14 Sep 2018 10:19:41 +0000 (12:19 +0200)]
GPUBuffers: Rework support for pbvh grids + fast navigate

Flat shaded grids are now rendered as a long triangle strip with
degenerate triangles.

Smooth shaded grids are not changed.

Also add back fast navigate. The only difference with 2.79 is that fast
navigate + flat shading will show slitly "incorrect" smooth face. But that's too
much effort to fix for what it is.

22 months agoGP: Add thickness and stregth factor to UI
Antonioya [Fri, 14 Sep 2018 08:31:47 +0000 (10:31 +0200)]
GP: Add thickness and stregth factor to UI

Now it's possible change the factors for soft eraser.

22 months agoGP: Fix armature deformation weight problem
Antonioya [Fri, 14 Sep 2018 06:57:46 +0000 (08:57 +0200)]
GP: Fix armature deformation weight problem

The armature was using only weight 1 or 0, but not the real value.

Also removed unused parm in UI panel.

22 months agoGP: Change fill option text
Antonioya [Thu, 13 Sep 2018 16:35:45 +0000 (18:35 +0200)]
GP: Change fill option text

22 months agoGP: Add strength factor for eraser brush
Antonioya [Thu, 13 Sep 2018 16:34:34 +0000 (18:34 +0200)]
GP: Add strength factor for eraser brush

This gives more control.

22 months agoGP: More tweaks in soft eraser
Antonioya [Thu, 13 Sep 2018 15:04:35 +0000 (17:04 +0200)]
GP: More tweaks in soft eraser

Follow with the changes to get a good feeling using the eraser.

22 months agoGP: Add pressure button for eraser brushes
Antonioya [Thu, 13 Sep 2018 14:52:27 +0000 (16:52 +0200)]
GP: Add pressure button for eraser brushes

22 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 13 Sep 2018 14:09:49 +0000 (16:09 +0200)]
Merge branch 'master' into blender2.8

22 months agoFix building deps when OpenCV dev package is present.
Bastien Montagne [Thu, 13 Sep 2018 14:05:59 +0000 (16:05 +0200)]
Fix building deps when OpenCV dev package is present.

Since we are not linking against OpenCV ourselves, that generated
linking errors later on (while building OSL e.g.).
Those 'open' libs link against way too many other libs... :/

Thanks to @intrah for initial report (T56785), and @LazyDodo for
suggested solution.

22 months agoGP: More changes to improve soft eraser
Antonioya [Thu, 13 Sep 2018 14:06:31 +0000 (16:06 +0200)]
GP: More changes to improve soft eraser

Small changes to improve "feeling" of the soft eraser.

22 months agoGizmo: only use mousemove for generic gizmos
Campbell Barton [Thu, 13 Sep 2018 14:06:19 +0000 (00:06 +1000)]
Gizmo: only use mousemove for generic gizmos

This caused slow performance for spin/bisect for eg.

22 months agoFix a crash with duplivert, and move to evaluated mesh in object_dupli.c
Bastien Montagne [Thu, 13 Sep 2018 13:55:36 +0000 (15:55 +0200)]
Fix a crash with duplivert, and move to evaluated mesh in object_dupli.c

There are still lots of issues/TODOs here though, like missing 'cage'
for editmesh, etc.

22 months agoGP: Add a separartion for leak size in fill panel
Antonioya [Thu, 13 Sep 2018 13:40:22 +0000 (15:40 +0200)]
GP: Add a separartion for leak size in fill panel

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 13:38:53 +0000 (23:38 +1000)]
Merge branch 'master' into blender2.8

22 months agoWM: move mousemove out of internal undo function
Campbell Barton [Thu, 13 Sep 2018 13:20:04 +0000 (23:20 +1000)]
WM: move mousemove out of internal undo function

This causes a feedback loop in 2.8x,
where gizmo redo caused fake mousemove that executed gizmo again.

Move the mousemove into the undo/redo operator.

22 months agoWorkspaces: reference count screens, otherwise they are never freed.
Brecht Van Lommel [Wed, 12 Sep 2018 10:31:31 +0000 (12:31 +0200)]
Workspaces: reference count screens, otherwise they are never freed.

They are not directly accessible in the UI anymore, it's the workspaces
that we always keep until they are manually deleted now.

22 months agoGizmo: avoid redundant value2d updates
Campbell Barton [Thu, 13 Sep 2018 12:25:15 +0000 (22:25 +1000)]
Gizmo: avoid redundant value2d updates

22 months agoGizmo: set header text when editing the value
Campbell Barton [Thu, 13 Sep 2018 12:15:11 +0000 (22:15 +1000)]
Gizmo: set header text when editing the value

22 months agoGP: Sample points in both sides for soft eraser
Antonioya [Thu, 13 Sep 2018 11:55:16 +0000 (13:55 +0200)]
GP: Sample points in both sides for soft eraser

Now the soft eraser use the previous point and not only current and next. This makes the transition smoother.

22 months agoGizmo: value2d cancel, snap & precise support
Campbell Barton [Thu, 13 Sep 2018 12:03:52 +0000 (22:03 +1000)]
Gizmo: value2d cancel, snap & precise support

22 months agoGP: Improve soft eraser rounded caps
Antonioya [Thu, 13 Sep 2018 10:38:50 +0000 (12:38 +0200)]
GP: Improve soft eraser rounded caps

When draw segments the rounded cap must be only visible in some situations.

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 10:15:18 +0000 (20:15 +1000)]
Merge branch 'master' into blender2.8

22 months agoPyAPI: remove operator methods that leak memory
Campbell Barton [Thu, 13 Sep 2018 10:10:56 +0000 (20:10 +1000)]
PyAPI: remove operator methods that leak memory

22 months agoPyAPI: use brief description for operator repr
Campbell Barton [Thu, 13 Sep 2018 09:59:15 +0000 (19:59 +1000)]
PyAPI: use brief description for operator repr

Only include description in docstring.

Also avoid using op_get_rna.

22 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 13 Sep 2018 09:27:38 +0000 (11:27 +0200)]
Merge branch 'master' into blender2.8

22 months agoPyDoc: add bpy.app.icons to docs
Campbell Barton [Thu, 13 Sep 2018 09:21:08 +0000 (19:21 +1000)]
PyDoc: add bpy.app.icons to docs

22 months agoTentative fix for T56770: Crash after set language to Simplified Chinese.
Bastien Montagne [Thu, 13 Sep 2018 09:20:49 +0000 (11:20 +0200)]
Tentative fix for T56770: Crash after set language to Simplified Chinese.

That bug probably did not affect 2.7x, only 2.8 with COW copying IDs in
threads... But root of the issue is that underlying boost i18n lib does
not support well multi-threaded access. So simply forbid any translation
from non-main thread. This *may* be an annoying limit at some point, but
doubt it will be any issue currently.

22 months agoFix leak in tool tooltip creation
Campbell Barton [Thu, 13 Sep 2018 08:21:16 +0000 (18:21 +1000)]
Fix leak in tool tooltip creation

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 08:19:24 +0000 (18:19 +1000)]
Merge branch 'master' into blender2.8

22 months agoPyAPI: add API call to get an operators type
Campbell Barton [Thu, 13 Sep 2018 08:16:06 +0000 (18:16 +1000)]
PyAPI: add API call to get an operators type

Getting the instance leaks memory and was only meant to be used for
generating docs.

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 07:56:32 +0000 (17:56 +1000)]
Merge branch 'master' into blender2.8

22 months agoCleanup: _bpy.ops utility to lookup an operator
Campbell Barton [Thu, 13 Sep 2018 07:47:56 +0000 (17:47 +1000)]
Cleanup: _bpy.ops utility to lookup an operator

22 months agoPyAPI: add bpy.app.icons to sys.modules
Campbell Barton [Thu, 13 Sep 2018 07:20:27 +0000 (17:20 +1000)]
PyAPI: add bpy.app.icons to sys.modules

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 07:08:58 +0000 (17:08 +1000)]
Merge branch 'master' into blender2.8

22 months agoCleanup: use PyImport_GetModuleDict
Campbell Barton [Thu, 13 Sep 2018 07:06:07 +0000 (17:06 +1000)]
Cleanup: use PyImport_GetModuleDict

Replace direct access using PyThreadState_GET

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 06:35:09 +0000 (16:35 +1000)]
Merge branch 'master' into blender2.8

22 months agoPyDoc: replace use of deprecated API call
Campbell Barton [Thu, 13 Sep 2018 06:33:34 +0000 (16:33 +1000)]
PyDoc: replace use of deprecated API call

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 06:21:56 +0000 (16:21 +1000)]
Merge branch 'master' into blender2.8

22 months agoCleanup: move 'make help_features' into own file
Campbell Barton [Thu, 13 Sep 2018 06:20:02 +0000 (16:20 +1000)]
Cleanup: move 'make help_features' into own file

22 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 13 Sep 2018 05:39:21 +0000 (15:39 +1000)]
Merge branch 'master' into blender2.8

22 months agoPyDoc: disable ASAN exit code for doc building
Campbell Barton [Thu, 13 Sep 2018 05:37:30 +0000 (15:37 +1000)]
PyDoc: disable ASAN exit code for doc building

Prevented docs from building on any minor issue when ASAN was enabled.

22 months agoGizmo: code comments
Campbell Barton [Thu, 13 Sep 2018 03:35:26 +0000 (13:35 +1000)]
Gizmo: code comments

Note about limits of new tool-init flag.

22 months agoCleanup: whitespace
Campbell Barton [Wed, 12 Sep 2018 23:26:42 +0000 (09:26 +1000)]
Cleanup: whitespace

22 months agoUI: show options for smooth and randomize
Campbell Barton [Wed, 12 Sep 2018 23:23:24 +0000 (09:23 +1000)]
UI: show options for smooth and randomize

22 months agoTool System: make smooth and randomize interactive
Campbell Barton [Wed, 12 Sep 2018 23:19:30 +0000 (09:19 +1000)]
Tool System: make smooth and randomize interactive