3 years agoPoint all submodules to master branch
Sergey Sharybin [Mon, 3 Apr 2017 12:54:51 +0000 (14:54 +0200)]
Point all submodules to master branch

This way it should be safe to use `git submodule update --remote`.

3 years agoBuildbot: Some special tricks for Blender 2.8 slave
Sergey Sharybin [Mon, 3 Apr 2017 12:49:07 +0000 (14:49 +0200)]
Buildbot: Some special tricks for Blender 2.8 slave

3 years agoFix blender player
Sergey Sharybin [Mon, 3 Apr 2017 10:31:33 +0000 (12:31 +0200)]
Fix blender player

3 years agoFix T51115: Bump node is broken when the displacement socket is used
Sergey Sharybin [Mon, 3 Apr 2017 08:50:42 +0000 (10:50 +0200)]
Fix T51115: Bump node is broken when the displacement socket is used

3 years agoCollada - add flag to limit precision of exported data, mainly to simplify debugging
Gaia Clary [Mon, 3 Apr 2017 08:48:00 +0000 (10:48 +0200)]
Collada - add flag to limit precision of exported data, mainly to simplify debugging

3 years agofix: collada - do proper conversion from int to bool (as with other nearby parameters)
Gaia Clary [Mon, 3 Apr 2017 08:45:24 +0000 (10:45 +0200)]
fix: collada - do proper conversion from int to bool (as with other nearby parameters)

3 years agofix: T50412 - collada: Replaced precision local limit function by blender's own imple...
Gaia Clary [Sat, 1 Apr 2017 13:29:40 +0000 (15:29 +0200)]
fix: T50412 - collada: Replaced precision local limit function by blender's own implementation

3 years agoCleanup: style
Campbell Barton [Sat, 1 Apr 2017 01:09:17 +0000 (12:09 +1100)]
Cleanup: style

3 years agoDepsgraph: Correction for the previous local view commit
Sergey Sharybin [Fri, 31 Mar 2017 15:07:44 +0000 (17:07 +0200)]
Depsgraph: Correction for the previous local view commit

Need to flush layers from components back to ID node.

3 years agoFix threading conflicts in multitex_ext_safe()
Sergey Sharybin [Fri, 31 Mar 2017 14:09:27 +0000 (16:09 +0200)]
Fix threading conflicts in multitex_ext_safe()

This function was modifying texture datablock, which makes the call
unsafe for call from multiple threads. Now we pass the argument that
we don't need nodes to the underlying functions.

There will be still race condition in noise texture, but that should
at least be free from crashes. Doesn't mean we shouldn't fix it tho.

3 years agoCycles: Solve threading conflict in shader synchronization
Sergey Sharybin [Fri, 31 Mar 2017 13:29:20 +0000 (15:29 +0200)]
Cycles: Solve threading conflict in shader synchronization

Update tag might access links (when checking for attributes) and
the links might be in the middle of rebuild in simplification

3 years agoFix unreported bug in Blender Render: using unnormalized normal in normal map node...
Alexander Romanov [Fri, 31 Mar 2017 14:53:55 +0000 (17:53 +0300)]
Fix unreported bug in Blender Render: using unnormalized normal in normal map node in the same way as in baking

3 years agoWM: Previous commit broke common-case loading new file
Campbell Barton [Fri, 31 Mar 2017 12:42:44 +0000 (23:42 +1100)]
WM: Previous commit broke common-case loading new file

Handle this in the operator

3 years agoKeep current app-template when selecting 'New File'
Campbell Barton [Fri, 31 Mar 2017 11:06:36 +0000 (22:06 +1100)]
Keep current app-template when selecting 'New File'

3 years agoUI cleanup: simplify Icon handling of uiDefAutoButR for PROP_POINTER.
Bastien Montagne [Fri, 31 Mar 2017 10:13:34 +0000 (12:13 +0200)]
UI cleanup: simplify Icon handling of uiDefAutoButR for PROP_POINTER.

Comes from D113, but really not related to the patch's topic!

3 years agoCycles: More fixes after include changes
Mai Lavelle [Fri, 31 Mar 2017 08:12:13 +0000 (10:12 +0200)]
Cycles: More fixes after include changes

3 years agoFix T51072: The reference of a pyobject may be being overwritten in `bm_mesh_remap_cd...
Germano Cavalcante [Fri, 31 Mar 2017 04:01:16 +0000 (01:01 -0300)]
Fix T51072: The reference of a pyobject may be being overwritten in `bm_mesh_remap_cd_update`

In this case the Pyobject gets lost from pybm, and does not invalidate the PyElem.
This will cause the destructor of python to read invalid memory and crash.

The solution is to make a copy of the pyobjects pointers before overwriting.

3 years agoCorrect string formatting (error in recent change)
Campbell Barton [Thu, 30 Mar 2017 22:45:25 +0000 (09:45 +1100)]
Correct string formatting (error in recent change)

3 years agoCleanup: warnings
Campbell Barton [Thu, 30 Mar 2017 22:48:38 +0000 (09:48 +1100)]
Cleanup: warnings

3 years agoCleanup/fix bad code in IDP_SetIndexArray()
Bastien Montagne [Thu, 30 Mar 2017 20:52:12 +0000 (22:52 +0200)]
Cleanup/fix bad code in IDP_SetIndexArray()

Mainly, using index before checking for its validity...

3 years agoRedraw parent popup when the child popup is closed
raa [Thu, 30 Mar 2017 13:48:18 +0000 (16:48 +0300)]
Redraw parent popup when the child popup is closed

3 years agoDepsgraph: Fix missing updates when in local view
Sergey Sharybin [Thu, 30 Mar 2017 12:38:25 +0000 (14:38 +0200)]
Depsgraph: Fix missing updates when in local view

This area is a subject of reconsideration, so for now used simplest
way possible -- ensure depsgraph's nodes have proper layer flags
when going in and out of local mode.

3 years agoCycles: Fix missing kernel re-compilation after recent changes
Sergey Sharybin [Thu, 30 Mar 2017 09:42:23 +0000 (11:42 +0200)]
Cycles: Fix missing kernel re-compilation after recent changes

Reported by Mai in IRC, thanks!

3 years agoFix T51051: Incorrect render on 32bit Linux
Sergey Sharybin [Thu, 30 Mar 2017 09:23:26 +0000 (11:23 +0200)]
Fix T51051: Incorrect render on 32bit Linux

The issue was apparently caused by -fno-finite-math-only added to kernel.cpp
CFLAGS. For now just removed this flag from the kernel (we don't really want
it there at this point, and we don't have it for SSE/AVX optimized kernels).

But surely more investigation is needed here.

3 years agoCycles: Cleanup, rename RegularBVH to BinaryBVH
Sergey Sharybin [Tue, 28 Mar 2017 16:58:51 +0000 (18:58 +0200)]
Cycles: Cleanup, rename RegularBVH to BinaryBVH

Makes it more explicit what the structure is from it's name.

3 years agoMirror Modifier: Add offsets for mirrored UVs
Campbell Barton [Thu, 30 Mar 2017 01:39:51 +0000 (12:39 +1100)]
Mirror Modifier: Add offsets for mirrored UVs

The mirror modifier now has two fields that specify a -1 to 1 offset for
the U and V axes when mirroring their coordinates.

D1844 by @circuitfox

3 years agoCycles: Fix compilation error of app after the include directories change
Sergey Sharybin [Wed, 29 Mar 2017 14:53:46 +0000 (16:53 +0200)]
Cycles: Fix compilation error of app after the include directories change

3 years agoCycles: Attempt to work around compilation errors of CUDA on sm_2x
Sergey Sharybin [Wed, 29 Mar 2017 14:22:51 +0000 (16:22 +0200)]
Cycles: Attempt to work around compilation errors of CUDA on sm_2x

3 years agoCycles: Cleanup, indentation
Sergey Sharybin [Wed, 29 Mar 2017 13:41:56 +0000 (15:41 +0200)]
Cycles: Cleanup, indentation

3 years agoCycles: Remove toolkit-specific workaround from kernel
Sergey Sharybin [Wed, 29 Mar 2017 13:07:53 +0000 (15:07 +0200)]
Cycles: Remove toolkit-specific workaround from kernel

3 years agoCycles: Only use CUDA 8.0 as officially supported one
Sergey Sharybin [Wed, 29 Mar 2017 13:06:47 +0000 (15:06 +0200)]
Cycles: Only use CUDA 8.0 as officially supported one

This deprecates CUDA 7.5.

3 years agoCycles: Cleanup, don't use m_ prefix for public properties
Sergey Sharybin [Wed, 29 Mar 2017 12:30:39 +0000 (14:30 +0200)]
Cycles: Cleanup, don't use m_ prefix for public properties

3 years agoCycles: Fix compilation error with visibility flag disabled
Sergey Sharybin [Wed, 29 Mar 2017 12:28:45 +0000 (14:28 +0200)]
Cycles: Fix compilation error with visibility flag disabled

3 years agoCycles: Make all #include statements relative to cycles source directory
Sergey Sharybin [Tue, 28 Mar 2017 18:39:14 +0000 (20:39 +0200)]
Cycles: Make all #include statements relative to cycles source directory

The idea is to make include statements more explicit and obvious where the
file is coming from, additionally reducing chance of wrong header being
picked up.

For example, it was not obvious whether bvh.h was refferring to builder
or traversal, whenter node.h is a generic graph node or a shader node
and cases like that.

Surely this might look obvious for the active developers, but after some
time of not touching the code it becomes less obvious where file is coming

This was briefly mentioned in T50824 and seems @brecht is fine with such
explicitness, but need to agree with all active developers before committing

Please note that this patch is lacking changes related on GPU/OpenCL
support. This will be solved if/when we all agree this is a good idea to move

Reviewers: brecht, lukasstockner97, maiself, nirved, dingto, juicyfruit, swerner

Reviewed By: lukasstockner97, maiself, nirved, dingto

Subscribers: brecht

Differential Revision:

3 years agoCycles: Attempt to workaround compilation error on new CUDA toolkit and sm_2x
Sergey Sharybin [Wed, 29 Mar 2017 09:49:50 +0000 (11:49 +0200)]
Cycles: Attempt to workaround compilation error on new CUDA toolkit and sm_2x

3 years agoRemove non-bmesh case from test
Campbell Barton [Wed, 29 Mar 2017 09:10:46 +0000 (20:10 +1100)]
Remove non-bmesh case from test

3 years agoFix skin mark operator
Campbell Barton [Wed, 29 Mar 2017 08:32:57 +0000 (19:32 +1100)]
Fix skin mark operator

Accessed custom-data layer offset before creating.

3 years agoFix crash closing window in background mode
Campbell Barton [Wed, 29 Mar 2017 08:25:34 +0000 (19:25 +1100)]
Fix crash closing window in background mode

3 years agoFix missing NULL check in gpencil poll
Campbell Barton [Wed, 29 Mar 2017 08:19:25 +0000 (19:19 +1100)]
Fix missing NULL check in gpencil poll

Also de-duplicate poll functions

3 years agoUse 'empty' option for clearing factory settings
Campbell Barton [Wed, 29 Mar 2017 08:18:09 +0000 (19:18 +1100)]
Use 'empty' option for clearing factory settings

3 years agoOption to load startup file with empty-data
Campbell Barton [Wed, 29 Mar 2017 08:07:21 +0000 (19:07 +1100)]
Option to load startup file with empty-data

Useful for batch conversion and tests.

3 years agoBuildbot: Revert previous change, older toolkit has same exact behavior
Sergey Sharybin [Wed, 29 Mar 2017 08:46:53 +0000 (10:46 +0200)]
Buildbot: Revert previous change, older toolkit has same exact behavior

3 years agoBuildbot: Use older NVCC on 32bit linux
Sergey Sharybin [Wed, 29 Mar 2017 08:21:17 +0000 (10:21 +0200)]
Buildbot: Use older NVCC on 32bit linux

Newer toolkit has some weird issue with cross0-compiling 32bit kernels
from 64bit environment.

3 years agoBuildbot: Remove global hardcoded NVCC path
Sergey Sharybin [Wed, 29 Mar 2017 08:16:41 +0000 (10:16 +0200)]
Buildbot: Remove global hardcoded NVCC path

This was initially needed for heterogeneous setup of two toolkits which
we no longer need.

3 years agoCycles: Bring back preview AA samples when using BPT
Sergey Sharybin [Wed, 29 Mar 2017 07:12:26 +0000 (09:12 +0200)]
Cycles: Bring back preview AA samples when using BPT

This was removed in 93426cb. Please be more accurate when
changing interface.

3 years agoPyAPI: minor path init simplification
Campbell Barton [Wed, 29 Mar 2017 04:07:41 +0000 (15:07 +1100)]
PyAPI: minor path init simplification

3 years agoFix 'bl_app_override' wrapping multiple times.
Campbell Barton [Wed, 29 Mar 2017 03:29:18 +0000 (14:29 +1100)]
Fix 'bl_app_override' wrapping multiple times.

Calling `SomeClass.draw(self, context)` instead of `self.draw()`
would try to wrap the argument `self` multiple times, causing an error.

3 years agoFix memory leak re-registering operators
Campbell Barton [Wed, 29 Mar 2017 02:26:34 +0000 (13:26 +1100)]
Fix memory leak re-registering operators

Re-registering an operator used by the keymap would lead memory.
Reload scripts for eg leaked over ~1600 blocks.

3 years agoPyAPI: check modules are registered before unregister
Campbell Barton [Wed, 29 Mar 2017 01:35:00 +0000 (12:35 +1100)]
PyAPI: check modules are registered before unregister

Needed since templates may unregister classes.

Also replace old modules on reloading.

3 years agoFix T51068: Place props in their own row
Aaron Carlisle [Tue, 28 Mar 2017 20:29:20 +0000 (16:29 -0400)]
Fix T51068: Place props in their own row

This allows the props to extend into the blank space that is to the right.

3 years agoCycles: Switch to reformulated Pluecker ray/triangle intersection
Sergey Sharybin [Mon, 27 Mar 2017 15:06:37 +0000 (17:06 +0200)]
Cycles: Switch to reformulated Pluecker ray/triangle intersection

The intention of this commit it to address issues mentioned in the
reports T43865,T50164 and T50452.

The code is based on Embree code with some extra vectorization
to speed up single ray to single triangle intersection.

Unfortunately, such a fix is not coming for free. There is some
slowdown for AVX2 processors, mainly due to different vectorization
code, which caused different number of instructions to be executed
and different instructions-per-cycle counters. But on another hand
this commit makes pre-AVX2 platforms such as AVX and SSE4.1 a bit
faster. The prerformance goes as following:

              2.78c AVX2   2.78c AVX   Patch AVX2         Patch AVX
BMW            05:21.09     06:05.34    05:32.97 (+3.5%)   05:34.97 (-8.5%)
Classroom      16:55.36     18:24.51    17:10.41 (+1.4%)   17:15.87 (-6.3%)
Fishy Cat      08:08.49     08:36.26    08:09.19 (+0.2%)   08:12.25 (-4.7%
Koro           11:22.54     11:45.24    11:13.25 (-1.5%)   11:43.81 (-0.3%)
Barcelone      14:18.32     16:09.46    14:15.20 (-0.4%)   14:25.15 (-10.8%)

On GPU the performance is about 1.5-2% slower in my tests on GTX1080
but afraid we can't do much as a part of this chaneg here and
consider it a price to pay for more proper intersection check.

Made in collaboration with Maxym Dmytrychenko, big thanks to him!

Reviewers: brecht, juicyfruit, lukasstockner97, dingto

Differential Revision:

3 years agoForgot those IDP_LibLinkProperty call on node sockets IDProps in previous commit...
Bastien Montagne [Tue, 28 Mar 2017 12:37:18 +0000 (14:37 +0200)]
Forgot those IDP_LibLinkProperty call on node sockets IDProps in previous commit...

3 years agoFix: Icon offset for pie buttons
raa [Tue, 28 Mar 2017 10:44:02 +0000 (13:44 +0300)]
Fix: Icon offset for pie buttons

3 years agoCycles: Pass m128 vectors by const reference
Sergey Sharybin [Tue, 28 Mar 2017 09:01:11 +0000 (11:01 +0200)]
Cycles: Pass m128 vectors by const reference

3 years agoFix lib_link_cachefile.
Bastien Montagne [Tue, 28 Mar 2017 08:15:52 +0000 (10:15 +0200)]
Fix lib_link_cachefile.

That one was:
* Resetting non-ID pointers (lib_link_xxx funcs should only affect ID
  pointers, everything else shall be done in direct_link_xxx func).
* Even worse, always calling lib_link_animdata, even when
  LIB_TAG_NEED_LINK tag was unset...

3 years agoBring back `lib_link_mesh()` in 'order' with other libdata liblink functions.
Bastien Montagne [Tue, 28 Mar 2017 08:10:15 +0000 (10:10 +0200)]
Bring back `lib_link_mesh()` in 'order' with other libdata liblink functions.

We do not need any special handling anymore for usercount of images used
by faces/polygons (tpage stuff), since we have the 'real_user' handling,
which will gracefully cope with all possible situations.

So better not keep that ugly confusing useless special case.

3 years agoreadfile.c: Cleanup lib_link code a bit.
Bastien Montagne [Tue, 28 Mar 2017 08:03:59 +0000 (10:03 +0200)]
readfile.c: Cleanup lib_link code a bit.

* Add missing `IDP_LibLinkProperty()` calls for many ID types
  (harmless currently, but better be consistent here!).
* Bring lib_link_xxx functions more in line with each other.
* Replace some long if/else by switch.

3 years agoCorrect splash size check
Campbell Barton [Tue, 28 Mar 2017 06:07:11 +0000 (17:07 +1100)]
Correct splash size check

3 years agoFix columns with fixed width
raa [Mon, 27 Mar 2017 21:07:31 +0000 (00:07 +0300)]
Fix columns with fixed width

3 years agoCleanup: Use upper case consistently in adaptive feature compile logging.
Thomas Dinges [Mon, 27 Mar 2017 20:52:33 +0000 (22:52 +0200)]
Cleanup: Use upper case consistently in adaptive feature compile logging.

3 years agoCleanup: Resolve todo in CUDA voxel image code.
Thomas Dinges [Mon, 27 Mar 2017 20:36:26 +0000 (22:36 +0200)]
Cleanup: Resolve todo in CUDA voxel image code.

3 years agoCycles UI: Avoid abreviation for Hair Extension.
Thomas Dinges [Mon, 27 Mar 2017 19:59:29 +0000 (21:59 +0200)]
Cycles UI: Avoid abreviation for Hair Extension.

Since 2.5x we should try to avoid such abreviations in the UI, except for common terms like Min / Max as much as possible.

3 years agoCycles: Move Shadow Catcher UI option next to Ray Visibility.
Thomas Dinges [Mon, 27 Mar 2017 19:51:56 +0000 (21:51 +0200)]
Cycles: Move Shadow Catcher UI option next to Ray Visibility.

Previously it was beneath the Performance UI label, which was incorrect. It's better suited next to Ray Visibility.

3 years agoCycles: Correct ifdef around float3 intrinsics
Sergey Sharybin [Mon, 27 Mar 2017 14:08:39 +0000 (16:08 +0200)]
Cycles: Correct ifdef around float3 intrinsics

3 years agoCorrect for Py3.5
Campbell Barton [Mon, 27 Mar 2017 10:33:51 +0000 (21:33 +1100)]
Correct for Py3.5

3 years agoCycles: Make shadow catcher an optional feature for OpenCL
Sergey Sharybin [Tue, 21 Mar 2017 12:55:27 +0000 (13:55 +0100)]
Cycles: Make shadow catcher an optional feature for OpenCL

Solves majority of speed regression on AMD OpenCL.

3 years agoCycles: Add OpenCL support for shadow catcher feature
Hristo Gueorguiev [Tue, 21 Mar 2017 11:27:12 +0000 (12:27 +0100)]
Cycles: Add OpenCL support for shadow catcher feature

The title says it all actually.

3 years agoCycles: Remove ccl_addr_space from RNG passed to functions
Hristo Gueorguiev [Tue, 21 Mar 2017 11:24:47 +0000 (12:24 +0100)]
Cycles: Remove ccl_addr_space from RNG passed to functions

Simplifies code quite a bit, making it shorter and easier to extend.
Currently no functional changes for users, but is required for the
upcoming work of shadow catcher support with OpenCL.

3 years agoCycles: First implementation of shadow catcher
Sergey Sharybin [Thu, 9 Feb 2017 13:19:01 +0000 (14:19 +0100)]
Cycles: First implementation of shadow catcher

It uses an idea of accumulating all possible light reachable across the
light path (without taking shadow blocked into account) and accumulating
total shaded light across the path. Dividing second figure by first one
seems to be giving good estimate of the shadow.

In fact, to my knowledge, it's something really similar to what is
happening in the denoising branch, so we are aligned here which is good.

The workflow is following:

- Create an object which matches real-life object on which shadow is
  to be catched.

- Create approximate similar material on that object.

  This is needed to make indirect light properly affecting CG objects
  in the scene.

- Mark object as Shadow Catcher in the Object properties.

Ideally, after doing that it will be possible to render the image and
simply alpha-over it on top of real footage.

3 years agoCycles: Optimize shaders earlier to skip unneccessary attributes for noninteractive...
Lukas Stockner [Wed, 14 Dec 2016 22:47:39 +0000 (23:47 +0100)]
Cycles: Optimize shaders earlier to skip unneccessary attributes for noninteractive rendering

Before, Cycles would first sync the shader exactly as shown in the UI, then determine and sync the used attributes and later optimize the shader.
Therefore, even completely unconnected nodes would cause unneccessary attributes to be synced.

The reason for this is to avoid frequent resyncs when editing shaders interactively, but it can still be avoided for noninteractive renders - which is what this commit does.

Reviewed by: sergey

Differential Revision:

3 years agoCMake: WITH_PYTHON_SECURITY=OFF was ignored
Campbell Barton [Mon, 27 Mar 2017 02:02:41 +0000 (13:02 +1100)]

Allow auto-execution to be enabled,
also move this to user-prefs versioning code.

3 years agoAdd back missing include
Campbell Barton [Sun, 26 Mar 2017 22:14:40 +0000 (09:14 +1100)]
Add back missing include

3 years agoFix padding and align calculation for box layouts
raa [Sun, 26 Mar 2017 15:02:11 +0000 (18:02 +0300)]
Fix padding and align calculation for box layouts

3 years agoCleanup: line length, assignment
Campbell Barton [Sun, 26 Mar 2017 10:51:12 +0000 (21:51 +1100)]
Cleanup: line length, assignment

3 years agoFix: Ignore min flag for rows that require all available width
raa [Sun, 26 Mar 2017 09:19:01 +0000 (12:19 +0300)]
Fix: Ignore min flag for rows that require all available width

3 years agoFix: Use "round" instead of "floor" in snapping UI to pixels
raa [Sun, 26 Mar 2017 09:16:04 +0000 (12:16 +0300)]
Fix: Use "round" instead of "floor" in snapping UI to pixels

3 years agoFix: Button's label can be NULL
raa [Sun, 26 Mar 2017 09:04:16 +0000 (12:04 +0300)]
Fix: Button's label can be NULL

3 years agore-adds the include "BLI_math.h" to custondata
Germano Cavalcante [Sun, 26 Mar 2017 07:08:16 +0000 (04:08 -0300)]
re-adds the include "BLI_math.h" to custondata

It was removed here rBd52191616b5f

3 years agoCleanup: simplify script path assignment
Campbell Barton [Sun, 26 Mar 2017 00:19:31 +0000 (11:19 +1100)]
Cleanup: simplify script path assignment

3 years agoPyAPI: add missing class registration
Campbell Barton [Sun, 26 Mar 2017 00:20:46 +0000 (11:20 +1100)]
PyAPI: add missing class registration

3 years agoPyAPI: debug-python check for missing class register
Campbell Barton [Sun, 26 Mar 2017 00:14:47 +0000 (11:14 +1100)]
PyAPI: debug-python check for missing class register

Moving to manual class registration means its easier to accidentally
miss registering classes.

Now detect missing class registration
and warn when running with `--debug-python`

3 years agoFix GHOST crash on X11 with recent DPI changes on some systems.
Brecht Van Lommel [Sat, 25 Mar 2017 18:29:37 +0000 (19:29 +0100)]
Fix GHOST crash on X11 with recent DPI changes on some systems.

3 years agoAutomatic DPI for all platforms, per monitor DPI for Windows.
Wouter [Sat, 11 Mar 2017 02:27:08 +0000 (03:27 +0100)]
DPI for all platforms, per monitor DPI for Windows.

For Windows 8.1 and X11 (Linux, BSD) now use the DPI specified by the operating
system, which previously only worked on macOS. For Windows this is handled per
monitor, for X11 this is based on Xft.dpi or xrandr --dpi. This should result
in appropriate font and button sizes by default in most cases.

The UI has been simplified to a single UI Scale factor relative to the automatic
DPI, instead of two DPI and Virtual Pixel Size settings. There is forward and
backwards compatibility for existing user preferences.

Reviewed By: brecht, LazyDodo

Differential Revision:

3 years agoRemove support for py app-templates
Campbell Barton [Sat, 25 Mar 2017 07:05:19 +0000 (18:05 +1100)]
Remove support for py app-templates

Only zip-files make sense here.

3 years agoCleanup: imports, indentation, long lines
Campbell Barton [Sat, 25 Mar 2017 00:07:05 +0000 (11:07 +1100)]
Cleanup: imports, indentation, long lines

3 years agoFix unreported: inaccuracy of interpolation of custom color layers due to float trunc...
Germano Cavalcante [Fri, 24 Mar 2017 23:06:43 +0000 (20:06 -0300)]
Fix unreported: inaccuracy of interpolation of custom color layers due to float truncation

Same solution from rBd23459f51640 but now in `layerInterp_mcol`
Also a cleaning was done in the includes

3 years agoWM: Application Templates
Campbell Barton [Fri, 24 Mar 2017 22:29:51 +0000 (09:29 +1100)]
WM: Application Templates

This adds the ability to switch between different application-configurations
without interfering with Blender's normal operation.

This commit doesn't include any templates,
so its mostly to allow collaboration for the Blender 101 project
and other custom configurations.

Application templates can be installed & selected from the file menu.

Other details:

- The `bl_app_template_utils` module handles template activation
  (similar to `addon_utils`).
- The `bl_app_override` module is a general module
  to assist scripts overriding parts of Blender in reversible way.

See docs:

See patch: D2565

3 years agoFix various i18n ambiguous issues reported in T43295.
Bastien Montagne [Fri, 24 Mar 2017 19:01:32 +0000 (20:01 +0100)]
Fix various i18n ambiguous issues reported in T43295.

3 years agoFix UI message issue, and style cleanup (!)
Bastien Montagne [Fri, 24 Mar 2017 18:59:14 +0000 (19:59 +0100)]
Fix UI message issue, and style cleanup (!)

3 years agoCycles: Remove obsolete variable from the TileManager
Lukas Stockner [Fri, 24 Mar 2017 18:43:39 +0000 (19:43 +0100)]
Cycles: Remove obsolete variable from the TileManager

3 years agoАшч T50995: Wrong freestyle render with new depgraph
Sergey Sharybin [Fri, 24 Mar 2017 15:33:26 +0000 (16:33 +0100)]
Ашч T50995: Wrong freestyle render with new depgraph

The iossue was caused by 0371ef1/

3 years agoCycles: Correct isfinite check used in integrator
Sergey Sharybin [Fri, 24 Mar 2017 14:22:27 +0000 (15:22 +0100)]
Cycles: Correct isfinite check used in integrator

Use fast-math friendly version of this function.

We should probably avoid unsafe fast math, but this is to be done with
real care with all the benchmarks properly done.

For now comitting much safer fix.

3 years agoFix/workaround T51007: Material viewport mode crash on node with more than 64 outputs
Sergey Sharybin [Fri, 24 Mar 2017 13:36:00 +0000 (14:36 +0100)]
Fix/workaround T51007: Material viewport mode crash on node with more than 64 outputs

Ideally we need to find a way to remove such a static limit here, but it's not so
trivial to implement for texture nodes. Requires some bigger system redesign there.

Just raising limit for now, which is fine for modern systems.

3 years agoFix T50238: Cycles: difference in texture position between OpenGL and Cycles render
Sergey Sharybin [Fri, 24 Mar 2017 11:24:14 +0000 (12:24 +0100)]
Fix T50238: Cycles: difference in texture position between OpenGL and Cycles render

3 years agoBuildbot: Use proper NVCC path
Sergey Sharybin [Fri, 24 Mar 2017 09:27:41 +0000 (10:27 +0100)]
Buildbot: Use proper NVCC path

In fact, we could probably remove this option all together.

3 years agoCycles: Workaround incorrect SSS with CUDA toolkit 8.0.61
Sergey Sharybin [Fri, 24 Mar 2017 09:08:18 +0000 (10:08 +0100)]
Cycles: Workaround incorrect SSS with CUDA toolkit 8.0.61

3 years agoUpdate CLERW to the latest version
Sergey Sharybin [Fri, 24 Mar 2017 08:42:50 +0000 (09:42 +0100)]
Update CLERW to the latest version

3 years agoFix for last fix of fix: (unsigned)char is limited to 255
Germano Cavalcante [Fri, 24 Mar 2017 07:35:17 +0000 (04:35 -0300)]
Fix for last fix of fix: (unsigned)char is limited to 255

setting char as value outside its range will wrap

3 years agoFix of last commit. Clamp values that will be used!
Germano Cavalcante [Fri, 24 Mar 2017 07:13:16 +0000 (04:13 -0300)]
Fix of last commit. Clamp values that will be used!

3 years agoFix T51038: `layerInterp_mloopcol` was casting instead of rounding the interpolated...
Germano Cavalcante [Fri, 24 Mar 2017 07:06:30 +0000 (04:06 -0300)]
Fix T51038: `layerInterp_mloopcol` was casting instead of rounding the interpolated RGBA channels

Casting to int truncates a floating-point number, that is, it loose the fractional part.