2 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

2 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

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

2 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

2 years agoMerge branch 'master' into blender2.8
Julian Eisel [Thu, 22 Sep 2016 23:40:19 +0000 (01:40 +0200)]
Merge branch 'master' into blender2.8


2 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

2 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

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

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

2 years agoimmediate mode: Triple Buffer and two new shaders for TEXTURE_2D and TEXTURE_RECT
Dalai Felinto [Thu, 22 Sep 2016 13:20:44 +0000 (13:20 +0000)]
immediate mode: Triple Buffer and two new shaders for TEXTURE_2D and TEXTURE_RECT

Use the same vertex shader for both fragment shaders

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

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

2 years agoOpenGL: remove double precision matrix functions
Mike Erwin [Thu, 22 Sep 2016 10:19:24 +0000 (12:19 +0200)]
OpenGL: remove double precision matrix functions

Proper fp64 is a GL 4.x feature. Pretending to support it in our API is just clutter.

2 years agoOpenGL: matrix code from viewport-fx
Mike Erwin [Thu, 22 Sep 2016 10:11:40 +0000 (12:11 +0200)]
OpenGL: matrix code from viewport-fx

Bringing over whole files from rB194998766c65

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

2 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

2 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 agoGPU_basic_shader uses GLSL by default
Mike Erwin [Wed, 21 Sep 2016 18:24:02 +0000 (20:24 +0200)]
GPU_basic_shader uses GLSL by default

switch back to old mode at runtime:
blender --enable-legacy-basic-shader

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 agoGawain: support triangle strips & fans in immediate mode
Mike Erwin [Wed, 21 Sep 2016 13:47:08 +0000 (15:47 +0200)]
Gawain: support triangle strips & fans in immediate mode

fixes crash in Vertex Paint (color picker)

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 agoGawain: batch drawing works
Mike Erwin [Tue, 20 Sep 2016 16:03:59 +0000 (18:03 +0200)]
Gawain: batch drawing works

Forgot to tell OpenGL which shader program the batch is using. Now it works!

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 agoimmediate mode refactor: walk navigation cross
Dalai Felinto [Tue, 20 Sep 2016 14:45:17 +0000 (14:45 +0000)]
immediate mode refactor: walk navigation cross

3 years agogawain update: immAttribute for 2i
Dalai Felinto [Tue, 20 Sep 2016 14:43:13 +0000 (14:43 +0000)]
gawain update: immAttribute for 2i

3 years agoimmediate mode refactor: fly navigation square
Dalai Felinto [Tue, 20 Sep 2016 14:44:52 +0000 (14:44 +0000)]
immediate mode refactor: fly navigation square

3 years agoOpenGL: fix GPU_SHADER_TEXT on non-Mac
Mike Erwin [Tue, 20 Sep 2016 14:12:50 +0000 (16:12 +0200)]
OpenGL: fix GPU_SHADER_TEXT on non-Mac

Developed on Mac and committed quickly.. oops

3 years agoQuiet warning with -Wformat-signedness
Julian Eisel [Tue, 20 Sep 2016 12:23:15 +0000 (14:23 +0200)]
Quiet warning with -Wformat-signedness

Is actually a redundant cast since Blender uses -funsigned-char, however I think it's fine to be explicit about it in new code so cast is required to make compiler happy. Am not a fan of -funsigned-char anyway...

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 agoOpenGL: draw_view_axis with new immediate mode
Mike Erwin [Sat, 17 Sep 2016 13:52:32 +0000 (15:52 +0200)]
OpenGL: draw_view_axis with new immediate mode

Changed drawing to use smooth lines, and to fade away when axis points toward / away from screen. (transform manipulators do this already)

Also fixed a nearby (but unrelated) missing immUnbindProgram.

Part of T49043

3 years agoOpenGL: streamline font rendering
Mike Erwin [Sat, 17 Sep 2016 11:54:30 +0000 (13:54 +0200)]
OpenGL: streamline font rendering

Ignore texture matrix in the shader, stop messing with texture matrix in BLF code.

Use linear screen-space interpolation instead of perspective.

Avoid redundant call to glMatrixMode.

3 years agoadd GPU_SHADER_TEXT for font rendering
Mike Erwin [Sat, 17 Sep 2016 11:33:02 +0000 (13:33 +0200)]
add GPU_SHADER_TEXT for font rendering

With USE_GLSL enabled, GPU_basic_shader(TEXTURE|COLOR) always rendered black. New shader uses a solid color + alpha channel of texture (which in our case is a font glyph). See fragment shader for details.

I prefer this approah -- multiple shaders that each do one thing well (and are easy to read/write/understand), instead of one shader that can do many things given the right options.

3 years agoOpenGL: simplify basic_shader_bind
Mike Erwin [Fri, 16 Sep 2016 16:05:00 +0000 (18:05 +0200)]
OpenGL: simplify basic_shader_bind

No need to enable/disable texturing with GLSL, just use textures in the fragment shader.

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 agoBlender 2.8: Fix some strict aspects on Linux
Sergey Sharybin [Fri, 16 Sep 2016 15:18:19 +0000 (17:18 +0200)]
Blender 2.8: Fix some strict aspects on Linux

3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 16 Sep 2016 15:09:28 +0000 (17:09 +0200)]
Merge branch 'master' into blender2.8

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.

3 years agoPicky correction to previous commit
Julian Eisel [Fri, 16 Sep 2016 13:09:21 +0000 (15:09 +0200)]
Picky correction to previous commit

A bit nicer to do empty-string check for operator poll message as well.

3 years agoUI: Allow showing why button is disabled in tooltip
Julian Eisel [Fri, 16 Sep 2016 12:50:47 +0000 (14:50 +0200)]
UI: Allow showing why button is disabled in tooltip

Uses red alert color. Operators that failed poll check already did this.