2 years agoMerge branch 'cycles_disney_brdf' into cycles_disney_bsdf_transmittance cycles_disney_bsdf_transmittance
Pascal Schoen [Fri, 2 Dec 2016 12:56:23 +0000 (13:56 +0100)]
Merge branch 'cycles_disney_brdf' into cycles_disney_bsdf_transmittance

2 years agoRemoved reflection call when roughness is low because of artifacts.
Pascal Schoen [Fri, 2 Dec 2016 12:55:12 +0000 (13:55 +0100)]
Removed reflection call when roughness is low because of artifacts.

2 years agoEnhanced the thin surface specular transmission approximation by a simple reflection...
Pascal Schoen [Fri, 2 Dec 2016 12:43:06 +0000 (13:43 +0100)]
Enhanced the thin surface specular transmission approximation by a simple reflection to the other side without refracting it (refraction approximately cancels for thin surfaces).

2 years agoIndication if to use fresnel is now handled via the type of the BSDF.
Pascal Schoen [Wed, 16 Nov 2016 08:22:25 +0000 (09:22 +0100)]
Indication if to use fresnel is now handled via the type of the BSDF.

2 years agoBetter roughness remapping for thin surface specular refractions.
Pascal Schoen [Wed, 16 Nov 2016 07:20:05 +0000 (08:20 +0100)]
Better roughness remapping for thin surface specular refractions.

2 years agoImplemented the specular transmission part of the thin surface
Pascal Schoen [Tue, 15 Nov 2016 09:53:30 +0000 (10:53 +0100)]
Implemented the specular transmission part of the thin surface

2 years agoImplemented the thin surface diffuse part.
Pascal Schoen [Mon, 14 Nov 2016 15:58:09 +0000 (16:58 +0100)]
Implemented the thin surface diffuse part.

2 years agoFixed an error in the clearcoat where it appeared too bright for default
Pascal Schoen [Fri, 11 Nov 2016 12:04:11 +0000 (13:04 +0100)]
Fixed an error in the clearcoat where it appeared too bright for default
light sources (like directional lights)

2 years agoResolved inconsistencies in using tabs and spaces
Pascal Schoen [Mon, 7 Nov 2016 11:04:38 +0000 (12:04 +0100)]
Resolved inconsistencies in using tabs and spaces

2 years agoImproved the clearcoat part by using GTR1 instead of GTR2
Pascal Schoen [Mon, 7 Nov 2016 07:13:41 +0000 (08:13 +0100)]
Improved the clearcoat part by using GTR1 instead of GTR2

2 years agoUse reflection BSDF for glossy reflections when roughness is 0.0 to
Pascal Schoen [Mon, 31 Oct 2016 10:31:36 +0000 (11:31 +0100)]
Use reflection BSDF for glossy reflections when roughness is 0.0 to
reduce computational expense and some code cleanup

Code cleanup includes:
- Code style cleanup and removed unused code
- Consolidated code in the bsdf_microfacet_multi_impl.h to reduce
  some computational expense

2 years agoFixed glossy reflections and refractions for low roughness values and
Pascal Schoen [Wed, 26 Oct 2016 06:51:10 +0000 (08:51 +0200)]
Fixed glossy reflections and refractions for low roughness values and
cleaned up the code.

For low roughness values, the reflections had some strange behavior.

2 years agoRemoved default values in setup functions and added extra functions for
Pascal Schoen [Tue, 25 Oct 2016 10:37:40 +0000 (12:37 +0200)]
Removed default values in setup functions and added extra functions for
GGX with fresnel.

2 years agoSwitched from uniform to cosine hemisphere sampling for the diffuse and
Pascal Schoen [Tue, 25 Oct 2016 09:09:36 +0000 (11:09 +0200)]
Switched from uniform to cosine hemisphere sampling for the diffuse and
the sheen part.

2 years agoRemoved the color parameters from the diffuse and sheen shader and use
Pascal Schoen [Mon, 24 Oct 2016 14:17:13 +0000 (16:17 +0200)]
Removed the color parameters from the diffuse and sheen shader and use
them as closure weights instead.

2 years agoFixed the issue with artifacts when using anisotropy without linking the
Pascal Schoen [Mon, 24 Oct 2016 07:57:06 +0000 (09:57 +0200)]
Fixed the issue with artifacts when using anisotropy without linking the
tangent input to a tangent node.

2 years agoAdded subsurface radius parameter to control the per color channel
Pascal Schoen [Mon, 24 Oct 2016 07:14:51 +0000 (09:14 +0200)]
Added subsurface radius parameter to control the per color channel
effection radius of the subsurface scattering.

2 years agoRearranged the inputs of the shader.
Pascal Schoen [Mon, 24 Oct 2016 06:14:10 +0000 (08:14 +0200)]
Rearranged the inputs of the shader.

2 years agoPut spaces in the parameter names of the shader node
Pascal Schoen [Fri, 21 Oct 2016 07:27:05 +0000 (09:27 +0200)]
Put spaces in the parameter names of the shader node

2 years agoRemoved code that isn't in use anymore
Pascal Schoen [Fri, 21 Oct 2016 06:51:20 +0000 (08:51 +0200)]
Removed code that isn't in use anymore

2 years agoCode style cleanup
Pascal Schoen [Fri, 21 Oct 2016 06:50:07 +0000 (08:50 +0200)]
Code style cleanup

2 years agoMerge branch 'master' into cycles_disney_brdf
Pascal Schoen [Thu, 20 Oct 2016 08:41:50 +0000 (10:41 +0200)]
Merge branch 'master' into cycles_disney_brdf

2 years agoSwitching between OSL and SVM is more consistant now when using Disney
Pascal Schoen [Thu, 20 Oct 2016 08:01:45 +0000 (10:01 +0200)]
Switching between OSL and SVM is more consistant now when using Disney

There were some minor differences in the OSL implementation, e.g. the
refraction roughness was missing.

2 years agoPython API: add full_path parameter for bpy.ops.ui.copy_data_path_button.
christian brinkmann [Wed, 19 Oct 2016 22:27:14 +0000 (00:27 +0200)]
Python API: add full_path parameter for bpy.ops.ui.copy_data_path_button.

Also use the operator as part of the UI keymap now, to deduplicate code and let
users configure a custom shortcut.

Reviewed By: brecht

Differential Revision:

2 years agoFix T49793 : Fix enabling SSE2 globally for msvc.
lazydodo [Wed, 19 Oct 2016 16:06:45 +0000 (10:06 -0600)]
Fix T49793 : Fix enabling SSE2 globally for msvc.

When feeding msvc both /arch:sse2 and /arch:sse it's not smart enough to pick the best option, just goes with the last option

2 years agoFix T49775: Appending data with internal dependency cycles prevents correct clearing...
Bastien Montagne [Wed, 19 Oct 2016 12:29:43 +0000 (14:29 +0200)]
Fix T49775: Appending data with internal dependency cycles prevents correct clearing of linked data-blocks.

This is not a simple fix, but imho still needs to be backported to 2.78a...

2 years ago[msvc] Minor cleanup in blenkernel.
lazydodo [Tue, 18 Oct 2016 15:25:14 +0000 (09:25 -0600)]
[msvc] Minor cleanup in blenkernel.

this patch resolves the following warnings;

Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 764
Warning C4098 'attach_stabilization_baseline_data': 'void' function returning a value blenkernel\intern\tracking_stabilize.c 139
Warning C4028 formal parameter 3 different from declaration blenkernel\intern\cachefile.c 148
Warning C4028 formal parameter 3 different from declaration blenkernel\intern\paint.c 413
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\editderivedmesh.c 591
Warning C4028 formal parameter 3 different from declaration blenkernel\intern\library_remap.c 709
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 754
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 758
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 759
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 763
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 764
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 765
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 769
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 770
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\DerivedMesh.c 3458

It's mostly things where the signature in the .h and the actual implementation in the .c do not match.  And a bunch functions who do not match the TaskRunFunction declaration cause they leave out the __restrict keyword.

Reviewers: brecht, juicyfruit, sergey

Reviewed By: sergey

Subscribers: Blendify

Differential Revision:

2 years ago[windows] Create A Blender Desktop Shortcut in the msi installer , fixes T49522
lazydodo [Tue, 18 Oct 2016 15:21:58 +0000 (09:21 -0600)]
[windows] Create A Blender Desktop Shortcut in the msi installer , fixes T49522

2 years agoFix: Append 'Object proxy' hack checking for local/linked usages before those flags...
Bastien Montagne [Tue, 18 Oct 2016 12:15:59 +0000 (14:15 +0200)]
Fix: Append 'Object proxy' hack checking for local/linked usages before those flags were set!

Dummy mistake, to be backported to 2.78a.

2 years agoClarified warning in EnumProperty
Sybren A. Stüvel [Tue, 18 Oct 2016 09:24:33 +0000 (11:24 +0200)]
Clarified warning in EnumProperty

Blender doesn't necessarily crash when Python doesn't keep references to
the returned strings. As a result, someone that implements this incorrectly
could be lulled into a false sense of correctness by Blender not crashing.

2 years agoFixup for doversion (rB8d573aa0 and rBa7e74791)
Dalai Felinto [Mon, 17 Oct 2016 19:43:35 +0000 (19:43 +0000)]
Fixup for doversion (rB8d573aa0 and rBa7e74791)

2 years agoFix T49722: Appending Bug (Groups).
Bastien Montagne [Mon, 17 Oct 2016 12:49:35 +0000 (14:49 +0200)]
Fix T49722: Appending Bug (Groups).

One day we'll have to reconsider why some many 'real' ID usages are not
refcounting... :(

To be backported to 2.78a.

2 years agoUV Editor: Add filter option to control what is visible when Draw Other Objects is...
Sergey Sharybin [Mon, 17 Oct 2016 12:28:16 +0000 (14:28 +0200)]
UV Editor: Add filter option to control what is visible when Draw Other Objects is enabled

Previously the editor will always try to only show UV faces with the same exact active
image or image texture, which is quite difficult to control on a production shaders, where
each material can have multiple objects assigned.

The idea of this commit is to bring option which allows to easily control what to display
when "Draw Other Objects" is enabled, so currently we can have old behavior ("Same Image")
or tell editor to show everything ("All"). In the future we can extend it with such filters
as "Same Material" and things like that.

Hopefully this will help @eyecandy's workflow of texturing.

2 years agoFix T49738: Hair Add Brush doesn't work
Sergey Sharybin [Mon, 17 Oct 2016 10:37:50 +0000 (12:37 +0200)]
Fix T49738: Hair Add Brush doesn't work

the issue was caused by wrong default value for brush particle count
which was clamped on display from 0 to 1. This is technically a regression
but how to port this to 2.78a?

2 years agoFix T49630: Cycles: Swapped shader and bake kernels
Lukas Stockner [Mon, 17 Oct 2016 10:28:01 +0000 (12:28 +0200)]
Fix T49630: Cycles: Swapped shader and bake kernels

The problem here was, as the title says, that the two kernels were swapped.
Since shader evaluation is only used for building the samling map when World MIS is enabled, rendering without it would still work fine, although baking also was broken.

2 years agoCycles: Improve OpenCL kernel compilation logging
Lukas Stockner [Mon, 17 Oct 2016 09:48:24 +0000 (11:48 +0200)]
Cycles: Improve OpenCL kernel compilation logging

The previous refactor changed the code to use a separate logging mechanism to support multithreaded compilation.
However, since that's not supported by any frameworks yes, it just resulted in bad logging behaviour.
So, this commit changes the logging to go diectly to stdout/stderr once again by default.

2 years agoFix T49746: crash loading user preferences with missing operators.
Brecht Van Lommel [Sun, 16 Oct 2016 19:19:52 +0000 (21:19 +0200)]
Fix T49746: crash loading user preferences with missing operators.

2 years agoMore fixes for keyframe theme options
Julian Eisel [Sun, 16 Oct 2016 18:30:51 +0000 (20:30 +0200)]
More fixes for keyframe theme options

Couple of issues here:
* Missing initialization for 3D view keyframe options for "Reset to Default Theme"
* Alpha values not reset correctly on "Reset to Default Theme"
* Alpha values of timeline keyframe options not reset correctly for old files
Also corrected old version patches even though they're overridden later, to avoid more issues in case people copy this code.

Corrections to d7af7a1e04c243 and 8d573aa0ecb61

2 years agoFix assert in the wrong place, should be moved earlier to do anything.
Chase Willden [Sun, 16 Oct 2016 13:50:53 +0000 (15:50 +0200)]
Fix assert in the wrong place, should be moved earlier to do anything.

Reviewed By: brecht

Differential Revision:

2 years agoCleanup: Unused parameters in Outliner
Julian Eisel [Sun, 16 Oct 2016 13:19:18 +0000 (15:19 +0200)]
Cleanup: Unused parameters in Outliner

These were only passed to own recursion calls.

2 years agoFix missing outliner redraw when adding VSE strip
Julian Eisel [Sun, 16 Oct 2016 12:39:06 +0000 (14:39 +0200)]
Fix missing outliner redraw when adding VSE strip

Needed for outliner "Sequence" display mode.

2 years agoCycles: use near clipping distance in panorama camera.
Scott Wu [Fri, 14 Oct 2016 22:11:42 +0000 (00:11 +0200)]
Cycles: use near clipping distance in panorama camera.

Reviewed By: sergey, brecht, dfelinto

Differential Revision:

2 years agoPrevent crash after OpenGL rendering animation to images.
Sybren A. Stüvel [Fri, 14 Oct 2016 16:45:49 +0000 (18:45 +0200)]
Prevent crash after OpenGL rendering animation to images.

2 years agoFix T49571: 2d stabilize keys not visible in the Graph Editor and Dope Sheet
Sergey Sharybin [Fri, 14 Oct 2016 15:22:57 +0000 (17:22 +0200)]
Fix T49571: 2d stabilize keys not visible in the Graph Editor and Dope Sheet

2 years agoCycles: Disable optimization of operator / for float3
Sergey Sharybin [Fri, 14 Oct 2016 11:51:59 +0000 (13:51 +0200)]
Cycles: Disable optimization of operator / for float3

This was giving some speedup but made intersection tests to fail
from watertight point of view.

Needs deeper investigation, but need to quickly get it fixed for
the studio.

2 years agoFix T49657: Audio backend "Jack" should be named "JACK".
Bastien Montagne [Fri, 14 Oct 2016 11:22:22 +0000 (13:22 +0200)]
Fix T49657: Audio backend "Jack" should be named "JACK".

2 years agoFix T49601: Material menu length problem.
Bastien Montagne [Fri, 14 Oct 2016 08:29:51 +0000 (10:29 +0200)]
Fix T49601: Material menu length problem.

Regression from rB69b66d549bcc8, was supposed to be non-functionnal
change, so not sure why search menu was reduced here? For now, restore
to 2.77 width.

2 years agoBPY Docs: Correct spelling (Addon --> Add-on)
Aaron Carlisle [Thu, 13 Oct 2016 23:23:29 +0000 (01:23 +0200)]
BPY Docs: Correct spelling (Addon --> Add-on)

Differential Revision:

2 years agoFix T49646: Switching from large to small image can get stuck zoom at max zoom distance.
Anthony Edlin [Thu, 13 Oct 2016 22:54:05 +0000 (00:54 +0200)]
Fix T49646: Switching from large to small image can get stuck zoom at max zoom distance.

Allow for zooming in at max zoom distance.

Reviewed By: Severin

Differential Revision:

2 years agoFix T49534: 2.78 Wrong texture scaling in material viewport
Sergey Sharybin [Thu, 13 Oct 2016 16:31:53 +0000 (18:31 +0200)]
Fix T49534: 2.78 Wrong texture scaling in material viewport

Seems to be a bug in original implementation of a830280: code was always
using tangent space instead of UV map because it had the same name. Now
prefer UVMap over tangent because this is how Cycles works. At least it's
closer to.

Not sure it the save+reload issue is still relevant after this fix, that
needs to be double-checked.

Thanks @dfelinto for looking into the report and simplifying the case.

Should be included into 2.78a.

2 years agoFix OLD pre-git links in the API, add missing factory-startup option to blender execu...
Aaron Carlisle [Thu, 13 Oct 2016 15:53:30 +0000 (17:53 +0200)]
Fix OLD pre-git links in the API, add missing factory-startup option to blender executions.

Reviewers: mont29

Reviewed By: mont29

Tags: #bf_blender, #python, #infrastructure:_websites

Differential Revision:

2 years agoPrevent problems when appending scene with referenced proxy
Sybren A. Stüvel [Thu, 13 Oct 2016 15:06:24 +0000 (17:06 +0200)]
Prevent problems when appending scene with referenced proxy

Such a "referenced proxy" could be a proxy that is used in a constraint on
another object. Brings back part of 1cdc54dc7db85766 but without the
memory leak.

2 years agoUsual UI/i18n tweaks & fixes.
Bastien Montagne [Thu, 13 Oct 2016 14:20:29 +0000 (16:20 +0200)]
Usual UI/i18n tweaks & fixes.

2 years agoFix: Grease Pencil palettes were missing a RNA path callback
Joshua Leung [Thu, 13 Oct 2016 12:18:53 +0000 (01:18 +1300)]
Fix: Grease Pencil palettes were missing a RNA path callback

2 years agoProxy appending: re-establish link to proxies when they are made local
Sybren A. Stüvel [Thu, 13 Oct 2016 11:32:08 +0000 (13:32 +0200)]
Proxy appending: re-establish link to proxies when they are made local

This allows appending of an entire scene from another blend file into this one,
even when that blend file contains proxified armatures.

This replaces the approach from commit 1cdc54dc7db85766.

Thanks @sergey for the help.

2 years agoFix T49635: column_flow Layout - last column is too small.
Bastien Montagne [Thu, 13 Oct 2016 08:21:38 +0000 (10:21 +0200)]
Fix T49635: column_flow Layout - last column is too small.

Column flow layout was abuse ui_item_fit in a weird way, which was
broken for last column items.

Now rather use own code, which basically spread available width as
equally as possible between all columns.

2 years agoCleanup: UI layout: remove unsed and confusing parameter.
Bastien Montagne [Wed, 12 Oct 2016 19:28:11 +0000 (21:28 +0200)]
Cleanup: UI layout: remove unsed and confusing parameter.

Things are complicated enough like that, no need to add useless noise on
top of it!

2 years agowrong alpha set for timeline theme (fixup for rBf329ebe3)
Dalai Felinto [Thu, 13 Oct 2016 00:28:07 +0000 (00:28 +0000)]
wrong alpha set for timeline theme (fixup for rBf329ebe3)

2 years agoFix T49631: radial control operators not using DPI properly.
Brecht Van Lommel [Wed, 12 Oct 2016 18:15:38 +0000 (20:15 +0200)]
Fix T49631: radial control operators not using DPI properly.

2 years agoFix T49640: Cycles constant folding incorrect for texture coordinates.
Brecht Van Lommel [Wed, 12 Oct 2016 16:36:41 +0000 (18:36 +0200)]
Fix T49640: Cycles constant folding incorrect for texture coordinates.

2 years agoFix build error with WITH_CYCLES_NATIVE_ONLY and recent AVX2 changes.
Brecht Van Lommel [Wed, 12 Oct 2016 15:35:03 +0000 (17:35 +0200)]
Fix build error with WITH_CYCLES_NATIVE_ONLY and recent AVX2 changes.

2 years agoFix T49636: material draw mode crash with displacement and missing group input node.
Brecht Van Lommel [Wed, 12 Oct 2016 11:10:09 +0000 (13:10 +0200)]
Fix T49636: material draw mode crash with displacement and missing group input node.

2 years agoFFmpeg: Fix off by one error in number of detected frames in matroska container
Sergey Sharybin [Wed, 12 Oct 2016 14:17:43 +0000 (16:17 +0200)]
FFmpeg: Fix off by one error in number of detected frames in matroska container

Seems to be rounding error. Hopefully new code handles the error fixed back in
SVN revision 28901 and still have proper frame number for Hjalti.

What could possibly go wrong here..

2 years agoCycles: Use const reference for register variables in non-OpenCL code
Sergey Sharybin [Wed, 12 Oct 2016 12:48:59 +0000 (14:48 +0200)]
Cycles: Use const reference for register variables in non-OpenCL code

This is something tested by @LazyDodo and suggested by Maxym to make
MSVC happier.

2 years agoCycles: Use more SSE intrinsics for float3 type
Sergey Sharybin [Wed, 12 Oct 2016 12:23:29 +0000 (14:23 +0200)]
Cycles: Use more SSE intrinsics for float3 type

This gives about 5% speedup on AVX2 kernels (other kernels still
have SSE disabled for math operations) and this solves the slowdown
of koro scene mention in the previous commit.

The title says it all actually. This commit also contains
changes to pass float3 as const reference in affected functions.

This should make MSVC happier without breaking OpenCL because it's
only done in areas which are ifdef-ed for non-OpenCL.

Another patch based on inspiration from Maxym Dmytrychenko, thanks!

2 years agoCycles: Implement AVX2 version of triangle_intersect
Sergey Sharybin [Wed, 12 Oct 2016 11:46:25 +0000 (13:46 +0200)]
Cycles: Implement AVX2 version of triangle_intersect

This commit basically vectorizes existing code using AVX2 instructions
(without modifying algorithm itself). This gives quite nice speedups:

  BMW:        -8%
  Classroom:  -5%
  Cat:        -5%
  Koro:       +1%
  Barcelona:  -8%

That's on Linux machine, reported performance improvement on Windows
goes up to 20%.

Not currently sure why Koro is somewhat slower because it mainly uses
curve intersection tests, could be a time noise? Or osmething with the
cache utilization perhaps? In any case speedup in other scenes makes
me thinking that current state is acceptable for initial implementation.

This is again inspired by Maxym Dmytrychenko.

2 years agoCycles: Add new avxf vectorized data type
Sergey Sharybin [Wed, 12 Oct 2016 11:03:15 +0000 (13:03 +0200)]
Cycles: Add new avxf vectorized data type

Based on existing ssef data type and to my knowledge it's also what happens in
Embree nowadays.

Inspired by Maxym Dmytrychenko and required for the upcoming triangle
intersection commit.

Hopefully the copyright message is correct.

2 years agoCycles: Enable SSE options of math module for AVX2 kernels
Sergey Sharybin [Wed, 12 Oct 2016 10:54:31 +0000 (12:54 +0200)]
Cycles: Enable SSE options of math module for AVX2 kernels

Currently this does not give measurable difference, but is required
ground work for some upcoming further optimization of AVX2 kernels.

2 years agoCycles: Get rid of ifdef-ed noinline policy
Sergey Sharybin [Wed, 12 Oct 2016 10:15:24 +0000 (12:15 +0200)]
Cycles: Get rid of ifdef-ed noinline policy

2 years agoCycles: Fix use of uninitialized variable in SSS
Sergey Sharybin [Wed, 12 Oct 2016 10:12:28 +0000 (12:12 +0200)]
Cycles: Fix use of uninitialized variable in SSS

When ray hits curve segment with SSS shader it was possible to have
uninitialized hit_P variable used for sampling.

Seems that was a reason of our headache of difference between AVX2
and SSE4 render results here, so now we can revert all the nasty
ifdef-ed inline policies.

2 years agoCycles: Cleanup, style
Sergey Sharybin [Wed, 12 Oct 2016 09:54:33 +0000 (11:54 +0200)]
Cycles: Cleanup, style

2 years agoFix T49622: Grease pencil not rendering out of VSE
Sergey Sharybin [Wed, 12 Oct 2016 08:01:30 +0000 (10:01 +0200)]
Fix T49622: Grease pencil not rendering out of VSE

2 years agoFix T49502: file browser on OS X not highlighting external drives.
Brecht Van Lommel [Tue, 11 Oct 2016 22:07:11 +0000 (00:07 +0200)]
Fix T49502: file browser on OS X not highlighting external drives.

2 years agoFix T49629: Graph editor normalize function doesn't work on f-curves with a constant...
Sergey Sharybin [Tue, 11 Oct 2016 15:08:00 +0000 (17:08 +0200)]
Fix T49629: Graph editor normalize function doesn't work on f-curves with a constant key value

Technically it is a regression in behavior and should be 2.78a.

2 years agoFix objects added via py being on the wrong layer when viewport is decoupled from...
Sergey Sharybin [Tue, 11 Oct 2016 13:35:14 +0000 (15:35 +0200)]
Fix objects added via py being on the wrong layer when viewport is decoupled from scene

2 years agoMake console message more clear for --scene argument
Sergey Sharybin [Tue, 11 Oct 2016 12:48:15 +0000 (14:48 +0200)]
Make console message more clear for --scene argument

2 years agoFix T49623: Immediately crash trying to render attached file in Cycles
Sergey Sharybin [Tue, 11 Oct 2016 09:54:04 +0000 (11:54 +0200)]
Fix T49623: Immediately crash trying to render attached file in Cycles

Original fix in this area was not really complete (but was the safest at
the release time). Now all the crazy configurations of slots going out
of sync should be handled here.

2 years remove libglewmx from deb for now, the package is broken in deb...
Bastien Montagne [Mon, 10 Oct 2016 17:29:04 +0000 (19:29 +0200)] remove libglewmx from deb for now, the package is broken in deb testing...

2 years first attempt to support cxx11.
Bastien Montagne [Mon, 10 Oct 2016 17:17:43 +0000 (19:17 +0200)] first attempt to support cxx11.

For now, we merely add an option that sets CXXFLAGS envvar with
'--std=c++11' option.

There is no check done to ensure compatibility with the system
libraries, mainly because:
  - It is all but trivial to get this information in a generic and
    reliable way.
  - Currently even cutting edge distributions may still distribute some c++98
  - With recent stdlibc++, both ABIs are supported together, which means
    that incompatibilities are rather unlikely.

To summarize: if your system is recent and built with gcc-5.1 or more,
you should not experience too much troubles with c++11.

2 years agoOpenGL animation: Fix stupid mistake form previous commit
Sergey Sharybin [Mon, 10 Oct 2016 13:52:10 +0000 (15:52 +0200)]
OpenGL animation: Fix stupid mistake form previous commit

Flagging of pool to cancel was done in the wrong place, making last
frames missing in the final video.

2 years agoFix viewport camera gets out of sync in certain cases
Sergey Sharybin [Mon, 10 Oct 2016 12:47:03 +0000 (14:47 +0200)]
Fix viewport camera gets out of sync in certain cases

It was possible to have two viewports opened and start using Ctrl-0
to make different objects an active camera for the viewport. This
worked fine for viewports which had decoupled camera from the scene,
but if viewport was locked to scene camera it was possible to run into
situation when two different viewports are locked to scene camera but
had different v3d->camera pointers.

2 years agoOpenGL render: Fix missing file output after pressing Esc
Sergey Sharybin [Mon, 10 Oct 2016 10:51:01 +0000 (12:51 +0200)]
OpenGL render: Fix missing file output after pressing Esc

Apparently, the whole G.is_break is not used by OpenGL render, meaning
this flag will not be clear before running the operator. This was
causing missing file output after pressing Esc once for the rest of
Blender session.

2 years agoOpenGL: remove GLSL support query (it's always supported)
Mike Erwin [Mon, 10 Oct 2016 05:13:03 +0000 (01:13 -0400)]
OpenGL: remove GLSL support query (it's always supported)

2 years agoremove call to GLSL support query (it's always supported)
Mike Erwin [Mon, 10 Oct 2016 05:28:02 +0000 (01:28 -0400)]
remove call to GLSL support query (it's always supported)

Reworked logic in the one place that still called this. Deleted the "GLSL not supported" fallback.

(equivalent to rB78abbdf26451 on blender2.8 branch)

2 years agoBGE: remove calls to GLSL support query (it's always supported)
Mike Erwin [Mon, 10 Oct 2016 05:08:49 +0000 (01:08 -0400)]
BGE: remove calls to GLSL support query (it's always supported)

Reworked logic in the few places that still called this. Deleted the "GLSL not supported" fallbacks.

Also removed some nearby checks for ARB_multitexture and OpenGL 1.1. Blender 2.77 removed checks like this, but game engine still has some.

2 years agoCycles: Split device_opencl.cpp into multiple files for easier maintenance
Lukas Stockner [Wed, 14 Sep 2016 21:47:54 +0000 (23:47 +0200)]
Cycles: Split device_opencl.cpp into multiple files for easier maintenance

There are no user-visible changes, just some internal restructuring.

Differential Revision:

2 years agoFix T49609: Point density textures: vertex colors are not properly averaged in BI
Daisuke Takahashi [Sun, 9 Oct 2016 11:16:19 +0000 (13:16 +0200)]
Fix T49609: Point density textures: vertex colors are not properly averaged in BI

Nice to have in 2.78a, though not a regression.

2 years agoCMake changes for new macOS target 10.9 / libc++ libraries.
Brecht Van Lommel [Wed, 14 Sep 2016 09:41:20 +0000 (11:41 +0200)]
CMake changes for new macOS target 10.9 / libc++ libraries.

Differential Revision:

2 years agoAmmend to rB00dc0666b3fe: forgot to fix boid->ground of first particle.
Bastien Montagne [Sat, 8 Oct 2016 17:13:50 +0000 (19:13 +0200)]
Ammend to rB00dc0666b3fe: forgot to fix boid->ground of first particle.

This code is confusing, such dirty details should not sneak out of
particles' own private code. :(

2 years agoFix T49608: runtime-only particle's boid->ground Object pointer was left dangling...
Bastien Montagne [Sat, 8 Oct 2016 13:18:35 +0000 (15:18 +0200)]
Fix T49608: runtime-only particle's boid->ground Object pointer was left dangling to invalid value in read code...

2 years agoFix a few compile errors with C++11 on macOS.
Brecht Van Lommel [Wed, 14 Sep 2016 09:41:20 +0000 (11:41 +0200)]
Fix a few compile errors with C++11 on macOS.

2 years agoBLI_task: fix case were some pool could work in more threads than allowed.
Bastien Montagne [Sat, 8 Oct 2016 12:46:01 +0000 (14:46 +0200)]
BLI_task: fix case were some pool could work in more threads than allowed.

We were checking for number of tasks from given pool already active, and
then atomically increasing it if allowed - this is not correct, number
could be increased by another thread between check and atomic op!

Atomic primitives are nice, but you must be very careful with *how* you
use them... Now we atomically increase counter, check result, and if we
end up over max value, abort and decrease counter again.

Spotted by Sergey, thanks!

2 years agoCollision: skip expensive BVH update if the collider doesn't move.
Alexander Gavrilov [Fri, 7 Oct 2016 10:27:11 +0000 (13:27 +0300)]
Collision: skip expensive BVH update if the collider doesn't move.

Since the collision modifier cannot be disabled, it causes a constant
hit on the viewport animation playback FPS. Most of this overhead can
be automatically removed in the case when the collider is static.

The updates are only skipped when the collider was stationary during
the preceding update as well, so the state is stored in a field.
Knowing that the collider is static can also be used to disable similar
BVH updates for substeps in the actual cloth simulation code.

Differential Revision:

2 years agoCycles: Fix OpenCL split kernel compilation after recent CUDA 8 performance fix
Lukas Stockner [Fri, 7 Oct 2016 16:50:43 +0000 (18:50 +0200)]
Cycles: Fix OpenCL split kernel compilation after recent CUDA 8 performance fix

2 years agoOpenGL render: Limit number of scheduled frames for write
Sergey Sharybin [Fri, 7 Oct 2016 15:46:13 +0000 (17:46 +0200)]
OpenGL render: Limit number of scheduled frames for write

Previously if the rendering is much faster than saving (for example,
when transcoding stuff via VSE) it was possible to have 100s of frames
in memory.

This isn't ideal because of limited amount of RAM, so need to have
some sort of limit. This is exactly what is implemented in this commit.

2 years agoOpenGL render: Fix non-deterministic order of frame writes for movies
Sergey Sharybin [Fri, 7 Oct 2016 15:12:27 +0000 (17:12 +0200)]
OpenGL render: Fix non-deterministic order of frame writes for movies

By the design of task scheduler it was possible that tasks from somewhere
in the middle of scheduled list will be handled first.

For example, one thread might be iterating over the scheduled list and
ignore tasks because there is other thread is working on task from the
same pool. However, if that other thread finishes task before iteration
is over current thread will pick up task from somewhere in in the middle
of the list.

This isn't a problem in general case, but for movie rendering we do need
to have strict order of frames.

2 years agoOpenGL: Don't write frames when rendering was canceled
Sergey Sharybin [Fri, 7 Oct 2016 14:51:19 +0000 (16:51 +0200)]
OpenGL: Don't write frames when rendering was canceled

2 years agoCleanup: Use more clear name for where allocation is coming from
Sergey Sharybin [Fri, 7 Oct 2016 14:06:24 +0000 (16:06 +0200)]
Cleanup: Use more clear name for where allocation is coming from

2 years agoOpenGL: Do not schedule new frames for write if error happens
Sergey Sharybin [Fri, 7 Oct 2016 14:05:51 +0000 (16:05 +0200)]
OpenGL: Do not schedule new frames for write if error happens

Also do not attempt to write any already scheduled frames.

2 years agoProxied → Proxified
Sybren A. Stüvel [Fri, 7 Oct 2016 11:33:43 +0000 (13:33 +0200)]
Proxied → Proxified