3 years agoFix T49310: incorrect Cycles standalone normals with negative scale.
Brecht Van Lommel [Sun, 25 Sep 2016 03:07:38 +0000 (05:07 +0200)]
Fix T49310: incorrect Cycles standalone normals with negative scale.

3 years agoCurve Fitting: re-fitting heap pre-allocated too much
Campbell Barton [Sun, 25 Sep 2016 02:11:46 +0000 (12:11 +1000)]
Curve Fitting: re-fitting heap pre-allocated too much

3 years agoCurve Fitting: 'offset' method used sign when it shouldn't
Campbell Barton [Sun, 25 Sep 2016 02:03:10 +0000 (12:03 +1000)]
Curve Fitting: 'offset' method used sign when it shouldn't

3 years agoCurve Fitting: inline dot-product (avoid temp vector)
Campbell Barton [Sun, 25 Sep 2016 01:40:18 +0000 (11:40 +1000)]
Curve Fitting: inline dot-product (avoid temp vector)

3 years agoCurve Fitting: de-duplicate cubic evaluation
Campbell Barton [Sun, 25 Sep 2016 01:34:31 +0000 (11:34 +1000)]
Curve Fitting: de-duplicate cubic evaluation

3 years agoQuiet shadow warning
Campbell Barton [Sun, 25 Sep 2016 02:15:14 +0000 (12:15 +1000)]
Quiet shadow warning

No need to declare new iterator for second loop.

3 years agoFix compile error when building without smoke support.
Kévin Dietrich [Sat, 24 Sep 2016 22:26:21 +0000 (00:26 +0200)]
Fix compile error when building without smoke support.

Also fixes possible NULL pointer dereference.

Fixes T49445.

3 years agoViewport smoke: add options to draw velocity vectors.
Kévin Dietrich [Sat, 24 Sep 2016 20:36:54 +0000 (22:36 +0200)]
Viewport smoke: add options to draw velocity vectors.

This basically exposes to the UI a function that was only available
through a debug macro ; the purpose is obviously to help debugging
simulations. It adds ways to draw the vectors either as colored needles
or as arrows showing the direction of the vectors. The colors are based
on the magnitude of the underlying vectors.

Reviewers: plasmasolutions, gottfried

Differential Revision:

3 years agoViewport smoke: add support for axis aligned slicing.
Kévin Dietrich [Sat, 24 Sep 2016 19:41:16 +0000 (21:41 +0200)]
Viewport smoke: add support for axis aligned slicing.

Current approach uses view aligned slicing to generate polygons for GL
texturing such that the generated polygons are always facing the view
plane. Now it is also possible to use object aligned slicing, which
creates polygons by slicing the object perpendicular to whichever axis
is facing the most the view plane. It is also possible to create a
single slice for inspecting the volume, or for 2D rendering effects.

Settings for this, along with a density multiplier setting, are to be
found in a newly added "Smoke Display Settings" panel in the smoke
domain properties tab.

Reviewers: plasmasolutions, gottfried

Differential Revision:

3 years agoMesh: added default UVs for Monkey, improved UVs for UV Sphere and Icosphere.
Peter Lu [Sat, 24 Sep 2016 14:08:10 +0000 (16:08 +0200)]
Mesh: added default UVs for Monkey, improved UVs for UV Sphere and Icosphere.

Fixes T47488 and T47478.

Reviewed By: brecht

Differential Revision:

3 years agoFix T49441: Grease Pencil - pie menu - brush name field crashes blender
Joshua Leung [Sat, 24 Sep 2016 00:49:43 +0000 (12:49 +1200)]
Fix T49441: Grease Pencil - pie menu - brush name field crashes blender

Using context.active_gpencil_brush to access the active Grease Pencil brush
would result in a crash if trying to rename the brush, because the "ID" pointer
was not set.

To be backported to 2.78

3 years agoCollada: Trying to get rid of some warning messages on linux
Gaia Clary [Fri, 23 Sep 2016 23:47:55 +0000 (01:47 +0200)]
Collada: Trying to get rid of some warning messages on linux

3 years agoCollada: Trying to get rif of some warning messages on linux
Gaia Clary [Fri, 23 Sep 2016 23:27:37 +0000 (01:27 +0200)]
Collada: Trying to get rif of some warning messages on linux

3 years agoFix: Collada Importer did not import the Blender Profile information correctly when...
Gaia Clary [Fri, 23 Sep 2016 10:56:04 +0000 (12:56 +0200)]
Fix: Collada Importer did not import the Blender Profile information correctly when multiple objects are bound to same armature. This caused Bone tails to be placed wrong.

3 years agoQuiet warning.
Kévin Dietrich [Fri, 23 Sep 2016 17:45:06 +0000 (19:45 +0200)]
Quiet warning.

3 years agoAlembic: only export face sets when required by the user.
Kévin Dietrich [Fri, 23 Sep 2016 17:44:51 +0000 (19:44 +0200)]
Alembic: only export face sets when required by the user.

Also remove deprecated face set code.

3 years agoCycles: Prevent crash in special cases when object has less slots than mesh
Sergey Sharybin [Fri, 23 Sep 2016 13:57:39 +0000 (15:57 +0200)]
Cycles: Prevent crash in special cases when object has less slots than mesh

This is something what was guaranteed in give_current_material(), just
copied some range checking logic from there.

Not sure what would be a proper fix here tho.

3 years agoParticles: Prevent crash when copying to an object with subsurf modifier
Sergey Sharybin [Fri, 23 Sep 2016 13:39:33 +0000 (15:39 +0200)]
Particles: Prevent crash when copying to an object with subsurf modifier

Probably something will be remapped wrongly, but better than crash.

3 years agoParticle: Add option to duplicate settings together with particle system itself
Sergey Sharybin [Fri, 23 Sep 2016 13:33:07 +0000 (15:33 +0200)]
Particle: Add option to duplicate settings together with particle system itself

This way it's possible to copy combed hair, use it as a basis for another
particle system to do some awesome artistic stuff.

3 years agoParticle: Prevent crash duplicating hair on objects with modifiers
Sergey Sharybin [Fri, 23 Sep 2016 12:51:42 +0000 (14:51 +0200)]
Particle: Prevent crash duplicating hair on objects with modifiers

3 years agoOutliner: Fix assert failure with palette ID
Sergey Sharybin [Fri, 23 Sep 2016 12:49:55 +0000 (14:49 +0200)]
Outliner: Fix assert failure with palette ID

3 years agoParticles: Add operator to quicly duplicate active particle system to the same object
Sergey Sharybin [Fri, 23 Sep 2016 12:32:14 +0000 (14:32 +0200)]
Particles: Add operator to quicly duplicate active particle system to the same object

3 years agoFix T49430: append scene with gamelogic broken.
Bastien Montagne [Fri, 23 Sep 2016 11:05:11 +0000 (13:05 +0200)]
Fix T49430: append scene with gamelogic broken.

In fact, it was the whole remapping process that was broken in logic bricks area,
due to terrible design of links between those bricks...

Object copying was also broken in that case, fixed as well.

To be backported to 2.78.

Note that issue was actually probably there since ages, hidden behind dirty hacks
used in previous append code (though likely visible in some corner cases).

Listen kids: do not, never, ever, do what has been done for links between logic bricks. Never. Ever.
Even as pure runtime data it would have been bad, but as stored data...

3 years agoCycles: Don't sum up memory usage of all devices together for the stats
Sergey Sharybin [Fri, 23 Sep 2016 10:43:23 +0000 (12:43 +0200)]
Cycles: Don't sum up memory usage of all devices together for the stats

3 years agoCycles: Fix overflow caused by wrong size calculation in Mesh::add_undisplaced
Mai Lavelle [Thu, 22 Sep 2016 21:34:14 +0000 (17:34 -0400)]
Cycles: Fix overflow caused by wrong size calculation in Mesh::add_undisplaced

3 years agoClip Editor: Enable Continuous Grab for view panning
Julian Eisel [Thu, 22 Sep 2016 20:49:01 +0000 (22:49 +0200)]
Clip Editor: Enable Continuous Grab for view panning

3 years agoFix T49417: Cycles crash - can't use 5 Gigabyte Tile EXR texture file
Sergey Sharybin [Thu, 22 Sep 2016 15:30:31 +0000 (17:30 +0200)]
Fix T49417: Cycles crash - can't use 5 Gigabyte Tile EXR texture file

Was an integer overflow issue when calculating offsets.

3 years agoFix T49427: Drivers of Shapekeys break when Append a group.
Bastien Montagne [Thu, 22 Sep 2016 14:11:16 +0000 (16:11 +0200)]
Fix T49427: Drivers of Shapekeys break when Append a group.

Optimization attempt with BKE_library_idtype_can_use_idtype() was not taking into account
the fact that drivers may link virtually against any datablock...

Has to be rethinked, but for after 2.78 release, this commit is safe to backport.

3 years agoBuildinfo: Improve behavior with detached HEAD
Sergey Sharybin [Thu, 22 Sep 2016 13:00:23 +0000 (15:00 +0200)]
Buildinfo: Improve behavior with detached HEAD

Try real hard to detect which branch we've detached from.

3 years agoFix T49425: Freestyle in viewport keeps updating over and over.
Bastien Montagne [Thu, 22 Sep 2016 12:57:16 +0000 (14:57 +0200)]
Fix T49425: Freestyle in viewport keeps updating over and over.

Regression caused by rBb27ba26, we would always tag datablocks to update in G.main,
ignoring given bmain, now always use this one instead.

To be backported to 2.78.

3 years agoCMake: Fix copy-paste error
Sergey Sharybin [Thu, 22 Sep 2016 09:01:37 +0000 (11:01 +0200)]
CMake: Fix copy-paste error

3 years agoFix non-finite normalization factor in certain cases
Sergey Sharybin [Thu, 22 Sep 2016 08:04:51 +0000 (10:04 +0200)]
Fix non-finite normalization factor in certain cases

3 years agoFix T49422: Metadata not showing in OpenGL renders
Sergey Sharybin [Thu, 22 Sep 2016 07:42:09 +0000 (09:42 +0200)]
Fix T49422: Metadata not showing in OpenGL renders

Own regression since recent optimization.

3 years agoRNA/UI: Allow displaying in tooltip why RNA property isn't editable
Julian Eisel [Wed, 21 Sep 2016 22:10:53 +0000 (00:10 +0200)]
RNA/UI: Allow displaying in tooltip why RNA property isn't editable

This commit allows RNA properties to return additional info on their editable state which may then be displayed in tooltips. To show how it works, it also adds some info for the editable check of proxies. For generally un-editable properties or properties of a linked data-block, RNA returns default strings.

| {F362785} | {F362786} | {F362787} |

Reviewed by brecht, thanks!

Differential Revision:

3 years agoUI: Theme options for vertex/edge bevel weight colors
Philipp Oeser [Wed, 21 Sep 2016 21:04:26 +0000 (23:04 +0200)]
UI: Theme options for vertex/edge bevel weight colors

Drawing used colors for select (TH_EDGE_SELECT/TH_VERTEX_SELECT) which was inconsistent with crease, seam, sharp, .. (which all had their own them color -- also was a bit hard to read).

NOTE: UI team usually doesn't allow adding more theme options, this is an exception.

Differential Revision:

3 years agoUI: Make eyedropper shortcut configurable
Julian Eisel [Wed, 21 Sep 2016 20:20:24 +0000 (22:20 +0200)]
UI: Make eyedropper shortcut configurable

It's now possible to change the shortcut for invoking the eyedropper while hovering a button (E by default). Also removed the keymap editor entry for the modal eyedropper keymap, it's now automatically appended to the eyedropper shortcut.

3 years agoUI: Make button driver and keying set shortcuts configurable
Julian Eisel [Wed, 21 Sep 2016 18:05:49 +0000 (20:05 +0200)]
UI: Make button driver and keying set shortcuts configurable

3 years agofix for potential pitfall with glMatrixMode
Mike Erwin [Wed, 21 Sep 2016 15:41:34 +0000 (17:41 +0200)]
fix for potential pitfall with glMatrixMode

close D696 by @jwilkins

The matrix mode should always be left in modelview mode, since a lot of code assumes it is before setting a matrix.

3 years agoUI: Configurable shortcuts for keyframe operators
Julian Eisel [Wed, 21 Sep 2016 13:13:43 +0000 (15:13 +0200)]
UI: Configurable shortcuts for keyframe operators

Adds support for editing the shortcuts for inserting (I), deleting (Alt+I) and clearing (Alt+Shift+I) button keyframes.

3 years agoFFmpeg interface improvements
Sybren A. Stüvel [Wed, 21 Sep 2016 13:01:51 +0000 (15:01 +0200)]
FFmpeg interface improvements

This patch changes a couple of things in the video output encoding.


- Clearer separation between container and codec. No more "format", as this is
  too ambiguous. As a result, codecs were removed from the container list.
- Added FFmpeg speed presets, so the user can choosen from the range "Very
  slow" to "Ultra fast". By default no preset is used.
- Added Constant Rate Factor (CRF) mode, which allows changing the bit-rate
  depending on the desired quality and the input. This generally produces the
  best quality videos, at the expense of not knowing the exact bit-rate and
  file size.
- Added optional maximum of non-B-frames between B-frames (`max_b_frames`).
- Presets were adjusted for these changes, and new presets added. One of the
  new presets is [recommended](
  for reviewing videos, as it allows players to scrub through it easily. Might
  be nice in weeklies. This preset also requires control over the
  `max_b_frames` setting.

GUI-only changes:
- Renamed "MPEG" in the output file format menu with "FFmpeg", as this is more
  accurate. After all, FFmpeg is used when this option is chosen, which can
  also output non-MPEG files.
- Certain parts of the GUI are disabled when not in use:
    - bit rate options are not used when a constant rate factor is given.
    - audio bitrate & volume are not used when no audio is exported.

Note that I did not touch `BKE_ffmpeg_preset_set()`. There are currently two
preset systems for FFmpeg (`BKE_ffmpeg_preset_set()` and the Python preset
system). Before we do more work on `BKE_ffmpeg_preset_set()`, I think it's a
good idea to determine whether we want to keep it at all.

After this patch has been accepted, I'd be happy to go through the code and
remove any then-obsolete bits, such as the handling of "XVID" as a container

Reviewers: sergey, mont29, brecht

Subscribers: mpan3, Blendify, brecht, fsiddi

Tags: #bf_blender

Differential Revision:

3 years agoFix crash in space context cycling when leaving window bounds
Julian Eisel [Wed, 21 Sep 2016 12:47:40 +0000 (14:47 +0200)]
Fix crash in space context cycling when leaving window bounds

3 years agoMake space context cycling a proper screen-level OP
Julian Eisel [Wed, 21 Sep 2016 12:43:11 +0000 (14:43 +0200)]
Make space context cycling a proper screen-level OP

This is really more of a screen level operation, UI-level is more like button handling etc.

3 years agoUI: Support UI operators with configurable shortcuts
Julian Eisel [Wed, 21 Sep 2016 12:35:02 +0000 (14:35 +0200)]
UI: Support UI operators with configurable shortcuts

After all a super simple solution that allows us to get rid of hardcoded keymap items.

3 years agoCycles: Cleanup, whitespace
Sergey Sharybin [Wed, 21 Sep 2016 12:41:33 +0000 (14:41 +0200)]
Cycles: Cleanup, whitespace

3 years agoFix T49393: Baking ignores backfaces
Dalai Felinto [Tue, 20 Sep 2016 23:26:59 +0000 (23:26 +0000)]
Fix T49393: Baking ignores backfaces

For some reason (which I can't recall), backing was doing backface
culling. Since Cycles itself doesn't ignore them (nor does Blender
Internal), they should be visible.

3 years agoCycles: Make code more uniform across two versions of shadow_blocked()
Sergey Sharybin [Wed, 21 Sep 2016 09:50:11 +0000 (11:50 +0200)]
Cycles: Make code more uniform across two versions of shadow_blocked()

Just to make it easier to research ways of possible code de-duplication.

3 years agoCycles: Remove out of date comment
Sergey Sharybin [Wed, 21 Sep 2016 09:48:36 +0000 (11:48 +0200)]
Cycles: Remove out of date comment

3 years agoFix: Grease Pencil sculpting crashes when sculpting on layers without any strokes
Joshua Leung [Wed, 21 Sep 2016 05:02:17 +0000 (17:02 +1200)]
Fix: Grease Pencil sculpting crashes when sculpting on layers without any strokes

Reported by @loochmunz. I've also gone through checking for and fixing other places
where this was also occurring.

To be included in 2.78

3 years agoGPencil D+W Pie: Don't show editing operators when not in editmode
Joshua Leung [Wed, 21 Sep 2016 03:06:39 +0000 (15:06 +1200)]
GPencil D+W Pie: Don't show editing operators when not in editmode

These operators only operate on the selected strokes, but when not in editmode,
stroke vertices are not shown.

Safe for 2.78

3 years agoUI: Fix crash using drag-toggle over window bounds with button callback
Julian Eisel [Tue, 20 Sep 2016 22:29:28 +0000 (00:29 +0200)]
UI: Fix crash using drag-toggle over window bounds with button callback

Steps to reproduce:
* Go to modifier context in properties editor
* Add modifier, collapse it
* Press down LMB over collapse button of modifier, hold it
* Drag over pin-icon in properties editor (to keep fixed data-block displayed)
* Drag outside of window bounds (should crash)

Also could've solved by getting space data from callback arguments instead of context, but this fix is much nicer (though not totally un-risky).

3 years agoregression fix for 1346482d23f167fa57049128384246397fda8d27: The length of leaf bones...
Gaia Clary [Tue, 20 Sep 2016 15:32:44 +0000 (17:32 +0200)]
regression fix for 1346482d23f167fa57049128384246397fda8d27: The length of leaf bones should always be set to the length of the smallest bone. since the mentioned commit the importer did only recalculate the leaf bone length when the 'fix leaf bones' option was also enabled.

3 years agoCycles: Make regular bvh traversal functions close to each other
Sergey Sharybin [Tue, 20 Sep 2016 11:29:07 +0000 (13:29 +0200)]
Cycles: Make regular bvh traversal functions close to each other

3 years agoCycles: Re-group ifdef so we check for particular feature only once
Sergey Sharybin [Tue, 20 Sep 2016 11:21:47 +0000 (13:21 +0200)]
Cycles: Re-group ifdef so we check for particular feature only once

3 years agoAlembic: add support to interpolate transform matrices in-between
Kévin Dietrich [Tue, 20 Sep 2016 12:15:02 +0000 (14:15 +0200)]
Alembic: add support to interpolate transform matrices in-between

3 years agoCycles: Avoid conversion from bool to uint
Sergey Sharybin [Tue, 20 Sep 2016 11:00:16 +0000 (13:00 +0200)]
Cycles: Avoid conversion from bool to uint

3 years agoSmall speedup for
Dmitry Dygalo [Tue, 20 Sep 2016 10:38:54 +0000 (12:38 +0200)]
Small speedup for

Do not close and re-open the file in case it's compressed, gzip module can now directly take a file object as parameter.

Differential Revision:

3 years agoFix T49391: Texture paint is not aware of disabled color management
Sergey Sharybin [Tue, 20 Sep 2016 10:21:28 +0000 (12:21 +0200)]
Fix T49391: Texture paint is not aware of disabled color management

There might be some extra missing points here, but it's all rather
a TODO than a real bug and can be tweaked further once issues are
actually discovered.

3 years agoFix T49343: ImageFormatSettings were not setting their rna struct path correctly
Philipp Oeser [Tue, 20 Sep 2016 10:13:40 +0000 (12:13 +0200)]
Fix T49343: ImageFormatSettings were not setting their rna struct path correctly

Reviewers: brecht, mont29

Reviewed By: brecht, mont29

Subscribers: brecht, sergey

Differential Revision:

3 years agoFix T49408: OpenGL light widget breaks viewport shading
Sergey Sharybin [Tue, 20 Sep 2016 09:56:37 +0000 (11:56 +0200)]
Fix T49408: OpenGL light widget breaks viewport shading

3 years agoFix T49386: Blender crashes when told to load an OCIO LUT that does not exist
Sergey Sharybin [Tue, 20 Sep 2016 08:48:25 +0000 (10:48 +0200)]
Fix T49386: Blender crashes when told to load an OCIO LUT that does not exist

3 years agoOpenGL: software renderer for old Mac GPUs
Mike Erwin [Mon, 19 Sep 2016 18:26:55 +0000 (20:26 +0200)]
OpenGL: software renderer for old Mac GPUs

We raised the minimum to GL 2.1 in Blender 2.77, and dropped support for older GPUs (pre-2012 Intel mostly). On Windows you get a popup message, but on Mac we simply crashed. Every Mac has a builtin software renderer for GL 2.1 so let's use that when the GPU is not capable!

Run blender --debug-gpu to see version detection & software fallback.

3 years agoUI Messages: Consistent spelling of term "data-block"
Julian Eisel [Mon, 19 Sep 2016 14:46:20 +0000 (16:46 +0200)]
UI Messages: Consistent spelling of term "data-block"

Was using a bunch of different spellings, mostly "data-block" though, so went with that one (would have been my #1 choice anyway ;) )

3 years agoBuildbot: Another attempt to have OSX builder fixed
Sergey Sharybin [Mon, 19 Sep 2016 14:45:08 +0000 (16:45 +0200)]
Buildbot: Another attempt to have OSX builder fixed

3 years agoBuildbot: Temporary disable CUBIN compilation
Sergey Sharybin [Mon, 19 Sep 2016 14:24:55 +0000 (16:24 +0200)]
Buildbot: Temporary disable CUBIN compilation

3 years agoBuildbot: Attempt to use proper Clang for CUDA binaries
Sergey Sharybin [Mon, 19 Sep 2016 14:11:19 +0000 (16:11 +0200)]
Buildbot: Attempt to use proper Clang for CUDA binaries

3 years agoCycles: Cleanup code style in split kernel
Sergey Sharybin [Mon, 19 Sep 2016 14:04:45 +0000 (16:04 +0200)]
Cycles: Cleanup code style in split kernel

3 years agoFix T49375: align rotation with snap target isn't toggleable in edit mode.
Bastien Montagne [Mon, 19 Sep 2016 13:49:43 +0000 (15:49 +0200)]
Fix T49375: align rotation with snap target isn't toggleable in edit mode.

Based on D2237, but fixed patch always hiding 'snap on self' button...

Should be safe for 2.78.

3 years agoCycles: More tweaks to make specialized BVH traversal matching
Sergey Sharybin [Mon, 19 Sep 2016 13:29:37 +0000 (15:29 +0200)]
Cycles: More tweaks to make specialized BVH traversal matching

3 years agoCycles: Avoid redundant intersection pre-calculation
Sergey Sharybin [Mon, 19 Sep 2016 13:14:21 +0000 (15:14 +0200)]
Cycles: Avoid redundant intersection pre-calculation

3 years agoCycles: Cleanup, sync some comments across different traversal
Sergey Sharybin [Mon, 19 Sep 2016 13:01:30 +0000 (15:01 +0200)]
Cycles: Cleanup, sync some comments across different traversal

3 years agoCycles: Cleanup, always use parenthesis
Sergey Sharybin [Mon, 19 Sep 2016 12:59:24 +0000 (14:59 +0200)]
Cycles: Cleanup, always use parenthesis

Makes it simpler to compare different traversal algorithms.

3 years agoLowercase includes for psapi.h and dbghelp.h windows includes.
Martijn Berger [Mon, 19 Sep 2016 12:20:37 +0000 (14:20 +0200)]
Lowercase includes for psapi.h and dbghelp.h windows includes.
This makes cross compilation a little less painful

3 years agoFix T49385: Copy buffer is not from pose mode. Report Error
Sergey Sharybin [Mon, 19 Sep 2016 12:17:05 +0000 (14:17 +0200)]
Fix T49385: Copy buffer is not from pose mode. Report Error

Quick fix for now, need to unlock studio here as well.

Proper fix would be to modify API a bit and pass flags which will
prevent expand called on bmain perhaps. But this we should discuss
a bit,

3 years agoCycles: Move BVH constants to an own files, so they are easily re-usable
Sergey Sharybin [Mon, 19 Sep 2016 11:00:41 +0000 (13:00 +0200)]
Cycles: Move BVH constants to an own files, so they are easily re-usable

3 years agoRemove null-check of argument which is attributed as non-null
Sergey Sharybin [Mon, 19 Sep 2016 08:18:10 +0000 (10:18 +0200)]
Remove null-check of argument which is attributed as non-null

This was logically incorrect and was causing warning and compilation
errors with strict compiler flags.

3 years agoCacheFile: make sure SpinLock is destroyed when exiting Blender.
Kévin Dietrich [Mon, 19 Sep 2016 07:02:31 +0000 (09:02 +0200)]
CacheFile: make sure SpinLock is destroyed when exiting Blender.

Missed in rB62b1cdd6.

3 years agoCycles: Fix typo that would sometimes result in subsurf modifier being disabled
Mai Lavelle [Mon, 19 Sep 2016 02:11:07 +0000 (22:11 -0400)]
Cycles: Fix typo that would sometimes result in subsurf modifier being disabled

3 years agoVarious cleanups related to button locking
Julian Eisel [Mon, 19 Sep 2016 00:25:59 +0000 (02:25 +0200)]
Various cleanups related to button locking

* Rename uiBut.lockstr to disabled_info
* Remove unreachable code
* Replace duplicated check with assert
* Replace overly ambitious check with assert
* Add comments

3 years agoCleanup: Completely replace/remove uiBut.lock
Julian Eisel [Sun, 18 Sep 2016 23:49:17 +0000 (01:49 +0200)]
Cleanup: Completely replace/remove uiBut.lock

Old leftover from pre 2.5 days. Now handled through UI_BUT_DISABLED button flag.

3 years agoMinor corrections for previous commit
Julian Eisel [Sun, 18 Sep 2016 19:54:24 +0000 (21:54 +0200)]
Minor corrections for previous commit

Was using wrong argument name in doxygen comment. Also reduced scope of vars.

Sorry for the noise :/

3 years agoBLI_listbase: Add/use utility to move link (BLI_listbase_link_move)
Julian Eisel [Sun, 18 Sep 2016 19:36:34 +0000 (21:36 +0200)]
BLI_listbase: Add/use utility to move link (BLI_listbase_link_move)

We were calling BLI_remlink and then BLI_insertlinkbefore/after quite often. BLI_listbase_link_move simplifies code a bit and makes it easier to follow. It also returns if link position has changed which can be used to avoid unnecessary updates.

Added it to a number of list reorder operators for now and made use of return value. Behavior shouldn't be changed.

Also some minor cleanup.

3 years agoFix T49245: Adaptive Subdivision with Auto Smooth causes weird mesh appearance
Mai Lavelle [Sun, 18 Sep 2016 17:21:29 +0000 (13:21 -0400)]
Fix T49245: Adaptive Subdivision with Auto Smooth causes weird mesh appearance

3 years agoGPencil: Don't show error popup when strokes can't be reordered further
Julian Eisel [Sun, 18 Sep 2016 16:46:22 +0000 (18:46 +0200)]
GPencil: Don't show error popup when strokes can't be reordered further

Was spawning error popup each time user tried to move a stroke higher or lower than the list allowed. We don't do that anywhere else and it's not really useful info for the user. So rather not bother her.

3 years agoCycles: Fix update of subdivision meshes when global dice rates change
Mai Lavelle [Sun, 18 Sep 2016 16:04:12 +0000 (12:04 -0400)]
Cycles: Fix update of subdivision meshes when global dice rates change

When subdivision settings were moved from meshes to objects this was missed,
should work fine now.

3 years agoCycles: Soft minimum for dice rates
Mai Lavelle [Sun, 18 Sep 2016 00:45:00 +0000 (20:45 -0400)]
Cycles: Soft minimum for dice rates

Use 0.5 as a soft minimum for dice rates to help from setting them too
low. Lower values can still be set by typing in the value.

3 years agoCycles: Adaptive isolation
Mai Lavelle [Fri, 16 Sep 2016 22:07:24 +0000 (18:07 -0400)]
Cycles: Adaptive isolation

Idea here is to select the lowest isolation level that wont compromise quality.
By using the lowest level we save memory and processing time. This will also
help avoid precision issues that have been showing up from using the highest
level (T49179, T49257).

This is a pretty simple heuristic that gives ok results. There's more we could
do here, such as filtering for vertices/edges adjacent geometric features that
need isolation instead of checking them all, but the logic there could get a
bit involved.

There's potential for slight popping of edges during animation if the dice
rate is low, but I don't think this should be a problem since low dice rates
really shouldn't be used in animation anyways.

Reviewed By: brecht, sergey

Differential Revision:

3 years agoGPencil: Fix memory leak using stroke arrange OP
Julian Eisel [Sun, 18 Sep 2016 15:25:12 +0000 (17:25 +0200)]
GPencil: Fix memory leak using stroke arrange OP

3 years agoFix T49384: crash in tangent space calculation with NaN mesh vertices.
Brecht Van Lommel [Sun, 18 Sep 2016 11:06:15 +0000 (13:06 +0200)]
Fix T49384: crash in tangent space calculation with NaN mesh vertices.

3 years ago[Windows/make.bat] Clean only after all parameters have been processed so the full...
lazydodo [Sat, 17 Sep 2016 15:19:54 +0000 (09:19 -0600)]
[Windows/make.bat] Clean only after all parameters have been processed so the full path is known, and require a convenience target to be set. Also added a helpful error message if any of the required data is not available.

3 years agoFix T49383: Color pickers are available if the color is locked
Antonioya [Sat, 17 Sep 2016 07:01:09 +0000 (09:01 +0200)]
Fix T49383: Color pickers are available if the color is locked

If the color is locked, the row is disabled, but the picker is still

This error was present in older versions for layer color.

3 years agoOpenGL render: Bugfix (unreported) after rB6f92604e539b2114763150fb1ace60d28e59a889
Thomas Beck [Fri, 16 Sep 2016 22:21:34 +0000 (00:21 +0200)]
OpenGL render: Bugfix (unreported) after rB6f92604e539b2114763150fb1ace60d28e59a889

Crashes occured immediately when clicking on "OpenGL render image" because there was only a task pool created previously when it was an animation. Solved it by introducing a variable is_animation to the openglrender and omitting the task_pool call when it's no animation.

@sergey: Please check my changes, moved the pool_ok and the lock into the is_animation clause.

3 years agoPose Library pose list: Default to 5 rows to match the new up/down buttons
Sybren A. Stüvel [Fri, 16 Sep 2016 16:21:20 +0000 (18:21 +0200)]
Pose Library pose list: Default to 5 rows to match the new up/down buttons

The buttons now nicely align with the pose list itself.

3 years agoBuildbot: Disable QuickTime for the time being
Sergey Sharybin [Fri, 16 Sep 2016 15:49:56 +0000 (17:49 +0200)]
Buildbot: Disable QuickTime for the time being

Buildbot machine was updated to the new SDK which seems to have
QTKit removed.

For until we've installed older SDK or ported our code to a new
AVFramework disabling QuickTime.

3 years agoPose library sorting: return OPERATOR_CANCELLED when no-op
Sybren A. Stüvel [Fri, 16 Sep 2016 15:32:46 +0000 (17:32 +0200)]
Pose library sorting: return OPERATOR_CANCELLED when no-op

A no-op happens when trying to move the top pose further up, or the
bottom pose further down.

3 years agoImprove description of move operator direction properties
Julian Eisel [Fri, 16 Sep 2016 15:03:44 +0000 (17:03 +0200)]
Improve description of move operator direction properties

These may be exposed in UI (keymap editor & redo panel), so better avoid using identifiers like "UP" "DOWN". They are redundant anyway (already displayed).

3 years agoFix jumping view when expanding graph editor channel over view bounds
Julian Eisel [Fri, 16 Sep 2016 14:38:57 +0000 (16:38 +0200)]
Fix jumping view when expanding graph editor channel over view bounds

Didn't change versioning_250.c entries, flags will be overridden anyway.

3 years agoFix vertical scrollbar adding to region width in graph editor
Julian Eisel [Fri, 16 Sep 2016 14:20:28 +0000 (16:20 +0200)]
Fix vertical scrollbar adding to region width in graph editor

Had to calculate draw region width based on region size excluding scrollbars.

3 years agoRemove debug only code
Sergey Sharybin [Fri, 16 Sep 2016 14:11:38 +0000 (16:11 +0200)]
Remove debug only code

Thanks Severin for spotting it!

3 years agoTweak for pinned/always visible curves in Graph Editor
Sergey Sharybin [Fri, 16 Sep 2016 13:56:09 +0000 (15:56 +0200)]
Tweak for pinned/always visible curves in Graph Editor

Allow such kind of pin for armature bones.

3 years agoAdded buttons to move a pose in a pose library up/down.
Sybren A. Stüvel [Fri, 16 Sep 2016 13:07:23 +0000 (15:07 +0200)]
Added buttons to move a pose in a pose library up/down.

This will break the pose library preview add-on, since that add-on uses
file indices rather than pose names.