3 years agoCycles: Cleanup, always use parenthesis
Sergey Sharybin [Fri, 19 May 2017 10:57:51 +0000 (12:57 +0200)]
Cycles: Cleanup, always use parenthesis

Easier to read/follow, and more robust for the further changes.

3 years agoCycles: Cleanup, indentation in preprocessor
Sergey Sharybin [Fri, 19 May 2017 10:54:46 +0000 (12:54 +0200)]
Cycles: Cleanup, indentation in preprocessor

3 years agoCycles: Cleanup, variable names
Sergey Sharybin [Fri, 19 May 2017 10:52:12 +0000 (12:52 +0200)]
Cycles: Cleanup, variable names

Don't use camel case for variable names. Leave that for the structures.

3 years agoCycles: Cleanup, useless new lines
Sergey Sharybin [Fri, 19 May 2017 10:45:22 +0000 (12:45 +0200)]
Cycles: Cleanup, useless new lines

3 years agoCycles: Cleanup, braces after function definition
Sergey Sharybin [Fri, 19 May 2017 10:43:26 +0000 (12:43 +0200)]
Cycles: Cleanup, braces after function definition

I wouldn't mind switching fully to Google style, but i am against of
mixing two different styles in same project. So just stick to brace
at the new line after function definition.

3 years ago\0;115;0cCycles: Cleanup, use ccl_restrict instead of ccl_restrict_ptr
Sergey Sharybin [Fri, 19 May 2017 10:33:28 +0000 (12:33 +0200)]
\0;115;0cCycles: Cleanup, use ccl_restrict instead of ccl_restrict_ptr

There were following issues with ccl_restrict_ptr:

- We already had ccl_restrict for all platforms.

- It was secretly adding `const` qualifier to the declaration,
  which is quite weird since non-const pointer can also be
  declared as restricted.

- We never in Blender are using foo_ptr or FooPtr type definitions,
  so not sure why we should introduce such a thing here.

- It is absolutely wrong from semantic point of view to put pointer
  into the restrict macro -- const is a part of type, not part of
  hint for compiler that some pointer is never aliased.

3 years agoFix T51537: Light passes are summed twice for split kernel since denoise commit
Sergey Sharybin [Fri, 19 May 2017 10:14:03 +0000 (12:14 +0200)]
Fix T51537: Light passes are summed twice for split kernel since denoise commit

Denoise commit introduced kernel_write_result() which saves light passes, so
no need to call both kernel_write_result() and kernel_write_light_passes() from
the split kernel.

Weirdly enough. kernel_write_result() does not take care about debug passes.

3 years agoFix T51556: Sequencer - White Balance Modifier - Masking is not honored
Sergey Sharybin [Fri, 19 May 2017 09:29:18 +0000 (11:29 +0200)]
Fix T51556: Sequencer - White Balance Modifier - Masking is not honored

3 years agoFix/workaround T51070: Cannot scale procedural texture in compositor
Sergey Sharybin [Fri, 19 May 2017 08:56:26 +0000 (10:56 +0200)]
Fix/workaround T51070: Cannot scale procedural texture in compositor

The issue is coming from some weird semi-finished canvas feature, which
was remapping coordinate without applying any differential on the sampling
ellipse (in fact, there is no ellipse, sampling think is always a single

The whole thing is just weak in the compositor, for now just bring behavior
back to how it was prior to optimization (multithreading) commit.

3 years agoCompositor: Remove unused funciton
Sergey Sharybin [Fri, 19 May 2017 08:55:26 +0000 (10:55 +0200)]
Compositor: Remove unused funciton

3 years agoFix T51553: Cycles Volume Emission turns black when strength is 0 or color is black
Lukas Stockner [Fri, 19 May 2017 02:59:35 +0000 (04:59 +0200)]
Fix T51553: Cycles Volume Emission turns black when strength is 0 or color is black

The problem was that Cycles implicitly uses a transparent surface shader when only
volume nodes are used, but since the black emission shader gets optimized away,
it was no longer detected and therefore no transparent surface was used.

Therefore, the shader now stores whether volume nodes were connected before

3 years agoFix T51506: Wrong shadow catcher color when using selective denoising
Lukas Stockner [Fri, 19 May 2017 01:47:09 +0000 (03:47 +0200)]
Fix T51506: Wrong shadow catcher color when using selective denoising

3 years agoCycles: Fix random noise pattern seen with multiscatter bsdf and split kernel
Mai Lavelle [Fri, 19 May 2017 01:14:31 +0000 (21:14 -0400)]
Cycles: Fix random noise pattern seen with multiscatter bsdf and split kernel

Differentials were unset if roughness was low giving undefined behavior.

3 years agoFix T51555: Cycles tile count is incorrect when denoising is enabled
Lukas Stockner [Fri, 19 May 2017 01:27:38 +0000 (03:27 +0200)]
Fix T51555: Cycles tile count is incorrect when denoising is enabled

Now rendered and denoised tiles are counted and displayed separately.

3 years agoFix T51502: Cycles denoising not using correctly aligned width for NLM on CUDA
Lukas Stockner [Fri, 19 May 2017 00:02:36 +0000 (02:02 +0200)]
Fix T51502: Cycles denoising not using correctly aligned width for NLM on CUDA

3 years agoCycles Denoising: Add more robust outlier heuristic to avoid artifacts
Lukas Stockner [Thu, 18 May 2017 01:03:18 +0000 (03:03 +0200)]
Cycles Denoising: Add more robust outlier heuristic to avoid artifacts

Extremely bright pixels in the rendered image cause the denoising algorithm
to produce extremely noticable artifacts. Therefore, a heuristic is needed
to exclude these pixels from the filtering process.

The new approach calculates the 75% percentile of the 5x5 neighborhood of
each pixel and flags the pixel if it is more than twice as bright.

During the reconstruction process, flagged pixels are skipped. Therefore,
they don't cause any problems for neighboring pixels, and the outlier pixels
themselves are replaced by a prediction of their actual value based on their
feature pass values and the neighboring pixels.

Therefore, the denoiser now also works as a smarter despeckling filter that
uses a more accurate prediction of the pixel instead of a simple average.
This can be used even if denoising isn't wanted by setting the denoising
radius to 1.

3 years agoCycles Denoising: Fix wrong order of denoising feature passes
Lukas Stockner [Thu, 18 May 2017 16:31:28 +0000 (18:31 +0200)]
Cycles Denoising: Fix wrong order of denoising feature passes

3 years agoCycles: Cleanup MultiGGX closure implementation
Lukas Stockner [Sun, 14 May 2017 19:17:32 +0000 (21:17 +0200)]
Cycles: Cleanup MultiGGX closure implementation

The implementation originally handled four different cases:
Regular glossy, glass, metallic fresnel glossy and diffuse.

However, only the first two are actually used currently. Therefore, this commit
removes the other two, which allows to simplify the code.

Additionally, due to the Principled BSDF, the function arguments are now
identical for glossy and glass, which allows to get rid of some ugly #ifdefs.

3 years agoInstall_deps: py 3.5.3, collada 22b1f4ff026881b4 (2.6.47), OCIO 6de971097c7f5.
Bastien Montagne [Thu, 18 May 2017 14:53:07 +0000 (16:53 +0200)]
Install_deps: py 3.5.3, collada 22b1f4ff026881b4 (2.6.47), OCIO 6de971097c7f5.

3 years agoCycles: Fix crash loading single channel texture
Sergey Sharybin [Thu, 18 May 2017 13:49:03 +0000 (15:49 +0200)]
Cycles: Fix crash loading single channel texture

Was  typo in recent isfinite check.

3 years agoCorrect last commit
Campbell Barton [Thu, 18 May 2017 11:48:52 +0000 (21:48 +1000)]
Correct last commit

VERT_VISIT was used in a nested function.

3 years agoFix T51408: Cycles - Principled BSDF Shader - Transparency is not working as expected
Pascal Schoen [Thu, 18 May 2017 11:15:32 +0000 (13:15 +0200)]
Fix T51408: Cycles - Principled BSDF Shader - Transparency is not working as expected

Renamed the "Transparency" input of the Principled BSDF to
"Transmission" and "Refraction Roughness" to "Transmission Roughness".

3 years agoFix T51539: BMesh boolean crash
Campbell Barton [Thu, 18 May 2017 11:06:45 +0000 (21:06 +1000)]
Fix T51539: BMesh boolean crash

In some cases the vertex visit queue would exceed its max length,
visiting the same vertex multiple times.

3 years agoFix T51538: Weight-paint circle select w/ clipping
Campbell Barton [Thu, 18 May 2017 00:41:54 +0000 (10:41 +1000)]
Fix T51538: Weight-paint circle select w/ clipping

3 years agoCycles: Optimize expansion of headers in the source
Sergey Sharybin [Wed, 17 May 2017 14:58:20 +0000 (16:58 +0200)]
Cycles: Optimize expansion of headers in the source

Use smarter check of where the file is coming from instead of
attempting to replace same source twice with different settings.

Brings down processing time from 3.6sec to 1.8sec.

3 years agoFix compilation error in Cycles
Sergey Sharybin [Wed, 17 May 2017 15:23:32 +0000 (17:23 +0200)]
Fix compilation error in Cycles

Was caused by recent fix with finite checks.

Fixes T51536.

3 years agoFix T51529: Black boxes on a denoising render when using a .exr image as a environmen...
Sergey Sharybin [Wed, 17 May 2017 13:29:47 +0000 (15:29 +0200)]
Fix T51529: Black boxes on a denoising render when using a .exr image as a environmental texture

It is caused by NaN value in the input texture. Now we check for all the pixels
having proper finite values.

Should also help here in the studio,

3 years agoRevert "Cycles: Fix wrong shading on GPU when background has NaN pixels and MIS enabled"
Sergey Sharybin [Wed, 17 May 2017 13:06:05 +0000 (15:06 +0200)]
Revert "Cycles: Fix wrong shading on GPU when background has NaN pixels and MIS enabled"

This reverts commit 581c81901363176b1ce775472ea7c9f97ee504a9.

Seems we do need to do finite check early on, this is incoming.

3 years agoFix T51388: Mask moves when zoom is changed in the movie clip editor
Sergey Sharybin [Wed, 17 May 2017 12:50:32 +0000 (14:50 +0200)]
Fix T51388: Mask moves when zoom is changed in the movie clip editor

Incorrect matrix space for stabilization.

3 years agoBMesh: remove duplicate argument for wireframe op
Campbell Barton [Wed, 17 May 2017 10:08:20 +0000 (20:08 +1000)]
BMesh: remove duplicate argument for wireframe op

3 years agoFix T50937: baking with OpenCL and CPU have slightly different brightness
Hristo Gueorguiev [Tue, 16 May 2017 10:15:11 +0000 (12:15 +0200)]
Fix T50937: baking with OpenCL and CPU have slightly different brightness

OpenCL baking with SSS and Volume are not supported.

3 years agoFix T49981: When camera is on inactive layer, it does not evaluate constraints
Sergey Sharybin [Wed, 17 May 2017 08:20:34 +0000 (10:20 +0200)]
Fix T49981: When camera is on inactive layer, it does not evaluate constraints

Second round of fix, was broken by 843be91.

3 years agoFix crash from freeing of NULL pointer
Mai Lavelle [Tue, 16 May 2017 20:29:27 +0000 (16:29 -0400)]
Fix crash from freeing of NULL pointer

3 years agoCycles: Fix building with native only option
Mai Lavelle [Tue, 16 May 2017 19:59:57 +0000 (15:59 -0400)]
Cycles: Fix building with native only option

Approach suggested by Lukas S.

3 years agoRevert "Cycles: Fix native only kernel since denoiser commit"
Mai Lavelle [Tue, 16 May 2017 19:27:57 +0000 (15:27 -0400)]
Revert "Cycles: Fix native only kernel since denoiser commit"

Fix didn't work in debug mode due to undefined references.

This reverts commit 53195715119e294e1a0d89831ebab716c9f7fee6.

3 years agoFix T50673: OpenEXR multilayer image truncated on save
Sergey Sharybin [Tue, 16 May 2017 14:34:49 +0000 (16:34 +0200)]
Fix T50673: OpenEXR multilayer image truncated on save

The issue is in OpenEXR itself. See the report fomr some more details.

3 years agoFix memory leak when saving OpenEXR files
Sergey Sharybin [Tue, 16 May 2017 13:34:43 +0000 (15:34 +0200)]
Fix memory leak when saving OpenEXR files

It is not a good idea to:

1. Duplicate metadata to self
2. Ignore the fact that something might have had metadata already.

Also moved metadata copy to a preparation function, so it is
never lost.

3 years agoFix T49467: Crash due to assert failure in bevel.
Howard Trickey [Tue, 16 May 2017 11:19:01 +0000 (07:19 -0400)]
Fix T49467: Crash due to assert failure in bevel.

The mesh interpolation code had an edge case where one of two
adjacent edges to a vertex has 0 length. This caused an assert
failure indexing the vertex mesh for splash Blenderman.blend.

3 years agoFix T49864: EnvMap baking crashes 2.78 if 'Full Sample' checked in AA
Sergey Sharybin [Tue, 16 May 2017 10:40:04 +0000 (12:40 +0200)]
Fix T49864: EnvMap baking crashes 2.78 if 'Full Sample' checked in AA

3 years agoFix memory leak in environment
Sergey Sharybin [Tue, 16 May 2017 08:52:20 +0000 (10:52 +0200)]
Fix memory leak in environment

Found when was looking into T49864. The issue is caused here
by render_copy_renderdata() doing a copy of views with
BLI_duplicatelist() so we can not just zero the pointers out.

Similar thing is happening for layers as well.

3 years agoFix byte-to-float conversion when using scene strips in sequencer with identical...
Olly Funkster [Tue, 16 May 2017 07:44:20 +0000 (09:44 +0200)]
Fix byte-to-float conversion when using scene strips in sequencer with identical color spaces

Fix T50882: VSE: Blend Modes on Scenes do not layer properly
Fix T51002: Scene strip with Alpha over not working as expected

The byte-to-float conversion was being skipped if the color spaces of the sequence and the scene
are the same, which is the default, resulting in any non-float strips becoming invisible.

Reviewers: sergey

Differential Revision:

3 years agoMake imbuf's OIIO bindings to compile with latest OIIO from git
Sergey Sharybin [Tue, 16 May 2017 07:30:29 +0000 (09:30 +0200)]
Make imbuf's OIIO bindings to compile with latest OIIO from git

3 years agoCleanup: gcc7.1 warnings
Campbell Barton [Tue, 16 May 2017 02:46:52 +0000 (12:46 +1000)]
Cleanup: gcc7.1 warnings

3 years agoFix hair_step is a short
Aaron Carlisle [Mon, 15 May 2017 21:28:01 +0000 (17:28 -0400)]
Fix hair_step is a short

3 years agoFix compile error on gcc after last commit
Aaron Carlisle [Mon, 15 May 2017 20:43:33 +0000 (16:43 -0400)]
Fix compile error on gcc after last commit

error: static assertion failed: "invalid limits"

3 years agoFix T51297: Use A Higher Hair Segment Limit
Aaron Carlisle [Mon, 15 May 2017 18:29:59 +0000 (14:29 -0400)]
Fix T51297: Use A Higher Hair Segment Limit

Normally, segments up to 50 can be quite enough for most cases.
However, when dealing with things like braids,
the current limit can sometimes be quite a pain.

3 years agoCycles: Fix native only kernel since denoiser commit
Sergey Sharybin [Mon, 15 May 2017 16:37:33 +0000 (18:37 +0200)]
Cycles: Fix native only kernel since denoiser commit

3 years agoFix T50109: Blender crash when a "Render Result" as a Texture
Sergey Sharybin [Mon, 15 May 2017 13:59:47 +0000 (15:59 +0200)]
Fix T50109: Blender crash when a "Render Result" as a Texture

This commit fixes crash, but user feedback can be improved here to
inform artist that one can't use Render Result as a texture since that
will cause feedback loop.

3 years agoFix T49324: True displacement crashes when shader returns NaN
Sergey Sharybin [Mon, 15 May 2017 13:44:09 +0000 (15:44 +0200)]
Fix T49324: True displacement crashes when shader returns NaN

3 years agoFix T51348: Node highlighting is broken
Sergey Sharybin [Mon, 15 May 2017 11:47:48 +0000 (13:47 +0200)]
Fix T51348: Node highlighting is broken

This feature was disabled in the code but not in the interface.

Removing the code, since it needs full re-implementation anyway.

3 years agoFix T51501: Cycles baking cancel affects baking script
Dalai Felinto [Mon, 15 May 2017 11:04:41 +0000 (13:04 +0200)]
Fix T51501: Cycles baking cancel affects baking script

Basically upon invoking cycles baking we could canell it which would
leave G.is_break hanging as true. Since we were not setting is_break to
false before exec baking, it would misbehave.

3 years agoFix T51180: BMesh crash using calc_uvs=True
Campbell Barton [Mon, 15 May 2017 06:53:57 +0000 (16:53 +1000)]
Fix T51180: BMesh crash using calc_uvs=True

Don't assume UV layer exist.

3 years agoPyAPI: don't re-register add-ons on 'New File'
Campbell Barton [Mon, 15 May 2017 05:33:01 +0000 (15:33 +1000)]
PyAPI: don't re-register add-ons on 'New File'

Some add-ons have bugs with re-registration,
they should be fixed, but no need to exacerbate the problem.

3 years agoCleanup: warnings, style
Campbell Barton [Mon, 15 May 2017 04:58:55 +0000 (14:58 +1000)]
Cleanup: warnings, style

3 years agoFix T51314: crash cancelling Cycles bake during scene sync and update.
Brecht Van Lommel [Sat, 13 May 2017 05:09:22 +0000 (07:09 +0200)]
Fix T51314: crash cancelling Cycles bake during scene sync and update.

3 years agoFix T51153: Video duration is detected wrong after FFmpeg update
Sergey Sharybin [Fri, 12 May 2017 14:43:36 +0000 (16:43 +0200)]
Fix T51153: Video duration is detected wrong after FFmpeg update

The issue was caused by stupid workaorund for libav. Now things works for
FFmpeg. There might need some tweaks needed for Libav, but that one is
not really priority for support.

3 years agoMesh Center: improved center-of-mass calculation
Bill Currie [Fri, 12 May 2017 01:04:03 +0000 (11:04 +1000)]
Mesh Center: improved center-of-mass calculation

Previous method was based on face-area, giving un-even results
based on topology and gave issues with zero area faces.

This method gives matching results for concave ngons and the same geometry triangulated.

3 years agoFix T51449: empty node editor continuously redrawing and using CPU.
Brecht Van Lommel [Thu, 11 May 2017 18:28:39 +0000 (20:28 +0200)]
Fix T51449: empty node editor continuously redrawing and using CPU.

3 years agoBGE: Use BLI's stringify instead of implementing it again
Sergey Sharybin [Thu, 11 May 2017 14:46:43 +0000 (16:46 +0200)]
BGE: Use BLI's stringify instead of implementing it again

Will solve compilation error in 2.8.

3 years agoDepsgraph: Fix/workaround crahs when fcu->rna_path is NULL
Sergey Sharybin [Thu, 11 May 2017 14:28:21 +0000 (16:28 +0200)]
Depsgraph: Fix/workaround crahs when fcu->rna_path is NULL

3 years agoUnifying access to GLEW from the Blender Game Engine
Dalai Felinto [Thu, 11 May 2017 13:53:09 +0000 (15:53 +0200)]
Unifying access to GLEW from the Blender Game Engine

Note: This is not about functionality, but about using the same stub file
we are using in Blender for the game engine in blender2.8.

3 years agoCleanup: GPU PBVH naming
Campbell Barton [Thu, 11 May 2017 12:03:50 +0000 (22:03 +1000)]
Cleanup: GPU PBVH naming

Use GPU_pbvh prefix.

3 years agoCycles: fix AO approximation for split kernel
Hristo Gueorguiev [Thu, 11 May 2017 09:57:12 +0000 (11:57 +0200)]
Cycles: fix AO approximation for split kernel

3 years agoAmmend last commit: add missing align for row props
Aaron Carlisle [Wed, 10 May 2017 04:13:54 +0000 (00:13 -0400)]
Ammend last commit: add missing align for row props

3 years agoUI: Follow up on recent VSE work
Aaron Carlisle [Wed, 10 May 2017 03:52:31 +0000 (23:52 -0400)]
UI: Follow up on recent VSE work

Fix a few more columns that should be rows

3 years agoCycles: Fix occasional black pixels from denoising with excessive radii
Lukas Stockner [Mon, 8 May 2017 20:09:35 +0000 (22:09 +0200)]
Cycles: Fix occasional black pixels from denoising with excessive radii

Numerical inaccuracies would cause the XtWX matrix to be no longer
positive-semidefinite, which in turn caused the LSQ solver to fail.

3 years agoupdate new 2.79 themes: T50869
meta-androcto [Thu, 11 May 2017 00:27:16 +0000 (10:27 +1000)]
update new 2.79 themes: T50869

3 years agoFix Blenderplayer stubs
Lukas Stockner [Wed, 10 May 2017 23:13:32 +0000 (01:13 +0200)]
Fix Blenderplayer stubs

The change from 62aa925c11d0 wasn't included.

3 years agoSculpt Drawing: reduce redundant color conversion
Campbell Barton [Wed, 10 May 2017 21:34:56 +0000 (07:34 +1000)]
Sculpt Drawing: reduce redundant color conversion

Also replace macro with for loop.

3 years agoFix T51455: Render Layers in compositor from a different scene not working
Lukas Stockner [Wed, 10 May 2017 20:39:43 +0000 (22:39 +0200)]
Fix T51455: Render Layers in compositor from a different scene not working

The code only updated nodes in the nodetree of the scene to which the render layer belongs. Therefore, when using scene B in the compositor setup of scene A, A's node wouldn't be updated.
With this fix, the update function loops over all scenes and checks them for relevant nodes.

3 years agoFix missing relation in new DEG between World and its NodeTree.
Bastien Montagne [Wed, 10 May 2017 08:31:33 +0000 (10:31 +0200)]
Fix missing relation in new DEG between World and its NodeTree.

Was preventing update in 3DView etc. when changing something in the
World's NodeTree, especially annoying in blender2.8 branch (since legacy
depsgraph has been removed there), but also affecting master.

3 years agoUI: editor menu, swap Text and node editors
Aaron Carlisle [Wed, 10 May 2017 15:27:20 +0000 (11:27 -0400)]
UI: editor menu, swap Text and node editors

Proposed by @sebastian_k and approved by @severin over IRC.

Follows up on rB0f561da5fb77540626aec7a995314271a91acdf6

3 years agoFix T51354: Final take on multi-view (single view) issues
Dalai Felinto [Wed, 10 May 2017 14:54:01 +0000 (16:54 +0200)]
Fix T51354: Final take on multi-view (single view) issues

We now handle selection and transform manipulators
(kudos to Julian Eisel to help hunting down the latter).

3 years agoFixup for multi-view single eye viewport issues
Dalai Felinto [Wed, 10 May 2017 11:13:55 +0000 (13:13 +0200)]
Fixup for multi-view single eye viewport issues

In d2f1f80a6fa I was always calling view3d_main_regio_setup_view with
NULL matrices, which is not always correct.

3 years agoPartial fix to Multi-View single eye issues in viewport
Dalai Felinto [Tue, 9 May 2017 17:21:22 +0000 (19:21 +0200)]
Partial fix to Multi-View single eye issues in viewport

Handling depth loop for now (3d cursor positioning). Selection is a bit
more tricky.

Reported on 51354

3 years agoFix errors in vse ui commit
Aaron Carlisle [Tue, 9 May 2017 18:36:00 +0000 (14:36 -0400)]
Fix errors in vse ui commit

- Fixes double labels
- Fixes an aligned layout when un-needed
- Fixes an error were a layout can become disabled but never enabled again

3 years agoFix (unreported): Crash if a right click is performed on an image datablock (open...
Thomas Beck [Tue, 9 May 2017 18:12:25 +0000 (20:12 +0200)]
Fix (unreported): Crash if a right click is performed on an image datablock (open btn f.e.).

Only access/insert the button_pointer if it's not null...

3 years agoCycles: Use more stable version of integer square root function
Sergey Sharybin [Tue, 9 May 2017 14:12:06 +0000 (16:12 +0200)]
Cycles: Use more stable version of integer square root function

Old code was working quite unreliable in combination with fast math
flag, especially when compiling with Clang. It seems we were hitting
result of the following bug submitted to Clang [1].

Basically, it was happening so that (int)sqrtf(64) was 7 when Cycles
is built with Clang but was correct 8 when built with GCC.

This commit works this around. Annoying, but don't see other way to
keep sampling pattern the same for Clang and GCC.


3 years agoCycles: Properly free memory used by KernelGlobals
Sergey Sharybin [Tue, 9 May 2017 14:29:29 +0000 (16:29 +0200)]
Cycles: Properly free memory used by KernelGlobals

Previous logic did not free memory used by vector classes
which were storing images, causing memory leaks.

3 years agoFix denoiser tooltip
Jens Verwiebe [Tue, 9 May 2017 12:44:59 +0000 (14:44 +0200)]
Fix denoiser tooltip

3 years agoFix T51434: Module math operation is wrong in GLSL shading
Carlo Andreacchio [Tue, 9 May 2017 10:31:19 +0000 (12:31 +0200)]
Fix T51434: Module math operation is wrong in GLSL shading

Based on patch from @lazydodo.

Reviewers: sergey

Differential Revision:

3 years agoCycles: Enable BPT for NVidia OpenCL
Sergey Sharybin [Tue, 9 May 2017 09:44:18 +0000 (11:44 +0200)]
Cycles: Enable BPT for NVidia OpenCL

3 years agoFix assert failure caused by bug in sequencer interface script
Sergey Sharybin [Tue, 9 May 2017 08:44:31 +0000 (10:44 +0200)]
Fix assert failure caused by bug in sequencer interface script

If icon_only is True then one must not pass text attribute.

3 years agoLibmv: Fix strict compiler warnings, unused variables
Sergey Sharybin [Tue, 9 May 2017 08:16:42 +0000 (10:16 +0200)]
Libmv: Fix strict compiler warnings, unused variables

3 years agoUI: Editor menu, move VSE below MCE
Aaron Carlisle [Tue, 9 May 2017 03:32:06 +0000 (23:32 -0400)]
UI: Editor menu, move VSE below MCE

The idea here is to keep things in a logical order to match the order of ones worflow.
This concept can be seen in Graph > Dope Sheet > NLA. This issue is mainly affecting the manual.

Fixes T50709

Differential Revision:

3 years agoFix missing render update when building without OCIO but having GLSL image draw method
Sergey Sharybin [Mon, 8 May 2017 15:43:32 +0000 (17:43 +0200)]
Fix missing render update when building without OCIO but having GLSL image draw method

3 years agoCycles: Fix compilation error with gcc-6.3.0 and debug mode
Sergey Sharybin [Mon, 8 May 2017 13:40:48 +0000 (15:40 +0200)]
Cycles: Fix compilation error with gcc-6.3.0 and debug mode

3 years agoFix capitalization in some particle panels
Luca Rood [Mon, 8 May 2017 13:24:05 +0000 (15:24 +0200)]
Fix capitalization in some particle panels

3 years agoSequencer: Fix broken interface script since 415ff74
Sergey Sharybin [Mon, 8 May 2017 12:54:49 +0000 (14:54 +0200)]
Sequencer: Fix broken interface script since 415ff74

3 years agoFix T51432: Find Files case sensitive on win32
Campbell Barton [Sun, 7 May 2017 23:42:36 +0000 (09:42 +1000)]
Fix T51432: Find Files case sensitive on win32

3 years agoUI: Cleanup VSE Properties Shelf
Mike Pan [Sun, 7 May 2017 22:13:50 +0000 (18:13 -0400)]
UI: Cleanup VSE Properties Shelf

The goal is to reduce wasted space and improve clarity in the 'N' panel of the VSE through layout changes.
The changes are intentional conservative to avoid making people re-learn anything.

Author: @mpan3

Differential Revision:

3 years agoRemove unused node socket flag that was added in the render pass commit
Lukas Stockner [Sun, 7 May 2017 18:32:51 +0000 (20:32 +0200)]
Remove unused node socket flag that was added in the render pass commit

3 years agoCycles: Fix transform addressing in the denoiser code
Lukas Stockner [Sun, 7 May 2017 18:48:24 +0000 (20:48 +0200)]
Cycles: Fix transform addressing in the denoiser code

3 years ago[Cycles] Fix math problems in safe_logf
lazydodo [Sun, 7 May 2017 15:16:14 +0000 (09:16 -0600)]
[Cycles] Fix math problems in safe_logf

log(0) is undefined and should not have been included
log(1) == 0, dividing by zero is not recommended

3 years agoColor management: add Filmic view transform to Blender configuration.
Brecht Van Lommel [Sun, 7 May 2017 14:41:38 +0000 (16:41 +0200)]
Color management: add Filmic view transform to Blender configuration.

* "Filmic" and "False Color" view transforms added (sRGB display device only).
* "Very Low/Low/Base/High/Very High Contrast" looks added.
* Added filtering so that Filmic only shows look names prefixed with "Filmic - ".

Filmic Dynamic Range LUT configuration created by Troy James Sobotka with
special thanks and feedback from Guillermo, Claudio Rocha, Bassam Kurdali,
Eugenio Pignataro, Henri Hebeisen, Jason Clarke, Haarm-Peter Duiker, Thomas
Mansencal, and Timothy Lottes.

Differential Revision:

3 years agoCycles: Implement denoising option for reducing noise in the rendered image
Lukas Stockner [Sun, 7 May 2017 12:40:58 +0000 (14:40 +0200)]
Cycles: Implement denoising option for reducing noise in the rendered image

This commit contains the first part of the new Cycles denoising option,
which filters the resulting image using information gathered during rendering
to get rid of noise while preserving visual features as well as possible.

To use the option, enable it in the render layer options. The default settings
fit a wide range of scenes, but the user can tweak individual settings to
control the tradeoff between a noise-free image, image details, and calculation

Note that the denoiser may still change in the future and that some features
are not implemented yet. The most important missing feature is animation
denoising, which uses information from multiple frames at once to produce a
flicker-free and smoother result. These features will be added in the future.

Finally, thanks to all the people who supported this project:

- Google (through the GSoC) and Theory Studios for sponsoring the development
- The authors of the papers I used for implementing the denoiser (more details
  on them will be included in the technical docs)
- The other Cycles devs for feedback on the code, especially Sergey for
  mentoring the GSoC project and Brecht for the code review!
- And of course the users who helped with testing, reported bugs and things
  that could and/or should work better!

3 years agoCleanup: use index syntax instead of addition
Campbell Barton [Sat, 6 May 2017 17:12:39 +0000 (03:12 +1000)]
Cleanup: use index syntax instead of addition

Harmless but made accessing the first element read strangely.

3 years agoCleanup: use uint/ushort for polyfill2d
Campbell Barton [Sat, 6 May 2017 16:19:56 +0000 (02:19 +1000)]
Cleanup: use uint/ushort for polyfill2d

3 years agoCleanup: use const pointers where possible
Campbell Barton [Sat, 6 May 2017 15:59:37 +0000 (01:59 +1000)]
Cleanup: use const pointers where possible

3 years agoFix PyAPI crash assigning/deleting id-properties
Campbell Barton [Sat, 6 May 2017 13:26:18 +0000 (23:26 +1000)]
Fix PyAPI crash assigning/deleting id-properties

Caused by D113.