2 years ago[cmake/msvc] Update python to 3.6 + numpy to 1.13.1
Ray Molenkamp [Wed, 20 Sep 2017 18:51:36 +0000 (12:51 -0600)]
[cmake/msvc] Update python to 3.6 + numpy to 1.13.1

2 years agoFix T52852: Assert in looptri calculation after recent changes.
Bastien Montagne [Wed, 20 Sep 2017 18:45:51 +0000 (20:45 +0200)]
Fix T52852: Assert in looptri calculation after recent changes.

Wrong condition in asserts...

2 years ago[cmake/depsbuilder/msvc] Update to python 3.6 / numpy 1.13.1
Ray Molenkamp [Wed, 20 Sep 2017 18:29:50 +0000 (12:29 -0600)]
[cmake/depsbuilder/msvc] Update to python 3.6 / numpy 1.13.1

-No more hardcoded python35/36 tokens in the scripts
-disabled python module for boost, was not used
-Updated patches for python to support building with msvc2013

2 years agoFix missing ID remapping in Action editor callback.
Bastien Montagne [Wed, 20 Sep 2017 18:24:54 +0000 (20:24 +0200)]
Fix missing ID remapping in Action editor callback.

Spotted by Joshua Leung (@aligorith), thanks!

Should probably be backported to 2.79a should we do it.

2 years agoFix T52368: Cycles OSL trace() failing on Windows 32 bit.
Brecht Van Lommel [Wed, 20 Sep 2017 17:36:24 +0000 (19:36 +0200)]
Fix T52368: Cycles OSL trace() failing on Windows 32 bit.

2 years agoFix T52853: harmless Cycles test failure in debug mode.
Brecht Van Lommel [Wed, 20 Sep 2017 17:24:18 +0000 (19:24 +0200)]
Fix T52853: harmless Cycles test failure in debug mode.

2 years agoCycles: use defensive sampling for picking BSDFs and BSSRDFs.
Brecht Van Lommel [Wed, 13 Sep 2017 16:28:31 +0000 (18:28 +0200)]
Cycles: use defensive sampling for picking BSDFs and BSSRDFs.

For the first bounce we now give each BSDF or BSSRDF a minimum sample weight,
which helps reduce noise for a typical case where you have a glossy BSDF with
a small weight due to Fresnel, but not necessarily small contribution relative
to a diffuse or transmission BSDF below.

We can probably find a better heuristic that also enables this on further
bounces, for example when looking through a perfect mirror, but I wasn't able
to find a robust one so far.

2 years agoCycles: slightly improve BSDF sample stratification for path tracing.
Brecht Van Lommel [Thu, 14 Sep 2017 20:56:32 +0000 (22:56 +0200)]
Cycles: slightly improve BSDF sample stratification for path tracing.

Similar to what we did for area lights previously, this should help
preserve stratification when using multiple BSDFs in theory. Improvements
are not easily noticeable in practice though, because the number of BSDFs
is usually low. Still nice to eliminate one sampling dimension.

2 years agoCode cleanup: refactor BSSRDF closure sampling, for next commit.
Brecht Van Lommel [Thu, 14 Sep 2017 23:55:44 +0000 (01:55 +0200)]
Code cleanup: refactor BSSRDF closure sampling, for next commit.

2 years agoCode cleanup: remove SOBOL_SKIP hack, seems no longer needed.
Brecht Van Lommel [Mon, 18 Sep 2017 22:38:22 +0000 (00:38 +0200)]
Code cleanup: remove SOBOL_SKIP hack, seems no longer needed.

2 years agoCode cleanup: remove hack to avoid seeing transparent objects in noise.
Brecht Van Lommel [Thu, 14 Sep 2017 19:53:00 +0000 (21:53 +0200)]
Code cleanup: remove hack to avoid seeing transparent objects in noise.

Previously the Sobol pattern suffered from some correlation issues that
made the outline of objects like a smoke domain visible. This helps
simplify the code and also makes some other optimizations possible.

2 years agoFix Cycles test report not closing files properly.
Brecht Van Lommel [Wed, 20 Sep 2017 17:12:26 +0000 (19:12 +0200)]
Fix Cycles test report not closing files properly.

2 years agoFix T52842: Incorrect description for bpy.types.MeshTextureFace.uv
Bastien Montagne [Wed, 20 Sep 2017 14:39:13 +0000 (16:39 +0200)]
Fix T52842: Incorrect description for bpy.types.MeshTextureFace.uv

Tweak rna_info module to generate valid info also for multi-dimensional arrays.

2 years agoExpose multi-dimensional array data in properties' introspection data.
Bastien Montagne [Wed, 20 Sep 2017 14:37:01 +0000 (16:37 +0200)]
Expose multi-dimensional array data in properties' introspection data.

Required to generate valid doc for such arrays!

2 years agoFix module, broken by recent changes in bpy.types presumably.
Bastien Montagne [Wed, 20 Sep 2017 14:35:23 +0000 (16:35 +0200)]
Fix module, broken by recent changes in bpy.types presumably.

Hope fix is OK, seems to work with API generation script at least.

2 years agoUI: fullstop at end of tooltips
Campbell Barton [Wed, 20 Sep 2017 13:58:08 +0000 (23:58 +1000)]
UI: fullstop at end of tooltips

Allows for multiple sentences not to look strange.
Convention not to include in RNA remains.

2 years agodeps build: correct sndfile fix
Arto Kitula [Wed, 20 Sep 2017 10:20:23 +0000 (13:20 +0300)]
deps build: correct sndfile fix

2 years agoBLI_polyfill2d_test: script to generate test data
Campbell Barton [Wed, 20 Sep 2017 03:39:31 +0000 (13:39 +1000)]
BLI_polyfill2d_test: script to generate test data

2 years agodeps build: fix sndfile building on macOS
Arto Kitula [Tue, 19 Sep 2017 21:08:32 +0000 (00:08 +0300)]
deps build: fix sndfile building on macOS

2 years agomacOS: use python version 3.6 when building blender
Arto Kitula [Tue, 19 Sep 2017 21:07:56 +0000 (00:07 +0300)]
macOS: use python version 3.6 when building blender

2 years agodeps build: bump Python to 3.6.2 and Numpy to 1.13.1
Arto Kitula [Tue, 19 Sep 2017 21:04:23 +0000 (00:04 +0300)]
deps build: bump Python to 3.6.2 and Numpy to 1.13.1

2 years agoCorrect test ifdef in polyfill
Campbell Barton [Tue, 19 Sep 2017 18:57:48 +0000 (04:57 +1000)]
Correct test ifdef in polyfill

2 years agoFix T52834: Polyfill2D fails with co-linear edges
Campbell Barton [Tue, 19 Sep 2017 18:29:04 +0000 (04:29 +1000)]
Fix T52834: Polyfill2D fails with co-linear edges

2 years agoBLI_polyfill2d_test: add test for T52834
Campbell Barton [Tue, 19 Sep 2017 17:40:13 +0000 (03:40 +1000)]
BLI_polyfill2d_test: add test for T52834

Commented since it currently fails.

2 years agoBLI_polyfill2d_test: Try flipped x/y axis
Campbell Barton [Tue, 19 Sep 2017 17:31:32 +0000 (03:31 +1000)]
BLI_polyfill2d_test: Try flipped x/y axis

In T52834 this makes a difference.

2 years agotransform_snap_object: simplify IGNORE_BEHIND_RAY
mano-wii [Tue, 19 Sep 2017 16:57:59 +0000 (13:57 -0300)]
transform_snap_object: simplify IGNORE_BEHIND_RAY

`depth_get` is called in most of the time. So not worth going through so many conditions

2 years agoDepsgraph: Fix wrong flag being assigned
Sergey Sharybin [Tue, 19 Sep 2017 15:55:15 +0000 (20:55 +0500)]
Depsgraph: Fix wrong flag being assigned

2 years agoFix T52733 Percent mode for Bevel sometimes had nans.
Howard Trickey [Tue, 19 Sep 2017 13:38:17 +0000 (09:38 -0400)]
Fix T52733 Percent  mode for Bevel sometimes had nans.

Forgot some initialization.

2 years agoFix T52818: Tangent space calculation is really slow for high-density mesh with degen...
Sergey Sharybin [Tue, 19 Sep 2017 12:46:34 +0000 (17:46 +0500)]
Fix T52818: Tangent space calculation is really slow for high-density mesh with degenerated topology

Now we replace O(N^2) computational complexity with O(N) extra memory penalty.
Memory is much cheaper than CPU time. Keep in mind, memory penalty is like
4 megabytes per 1M vertices.

2 years agoMikkspace: Cleanup, reduce indentation level
Sergey Sharybin [Tue, 19 Sep 2017 12:00:48 +0000 (17:00 +0500)]
Mikkspace: Cleanup, reduce indentation level

2 years agoFix T52816: regression can't open file in 2.79 (crash).
Bastien Montagne [Tue, 19 Sep 2017 11:57:46 +0000 (13:57 +0200)]
Fix T52816: regression can't open file in 2.79 (crash).

Tentative fix, since I cannot reproduce thenissue for some reason here
on linux.

Core of the problem is pretty clear though, thanks to Germano Cavalcante
(@mano-wii): another thread could try to use looptris data after worker
one had allocated it, but before it had actually computed looptris.

So now, we use a temp 'wip' pointer to store looptris being computed
(since this is protected by a mutex, other threads will have to wait on
it, no possibility for them to double-compute the looptris here).

This should probably be backported to 2.79a if done.

2 years agoFix T52823: New Depsgraph - Shrinkwrap crashes blender
Sergey Sharybin [Tue, 19 Sep 2017 11:09:35 +0000 (16:09 +0500)]
Fix T52823: New Depsgraph - Shrinkwrap crashes blender

The issue was caused by threading conflict around looptris: it was possible
that DM will return non-NULL but non-initialized array of looptris.

Thanks Campbell for second pair of eyes!

2 years agoCMake: update for renamed headers
Campbell Barton [Tue, 19 Sep 2017 10:25:20 +0000 (20:25 +1000)]
CMake: update for renamed headers

2 years agoBLI_utildefines_iter: Use for iteration helpers
Campbell Barton [Tue, 19 Sep 2017 10:21:52 +0000 (20:21 +1000)]
BLI_utildefines_iter: Use for iteration helpers

2 years agoCleanup: BLI_utildefines prefix for header-only libs
Campbell Barton [Tue, 19 Sep 2017 10:16:05 +0000 (20:16 +1000)]
Cleanup: BLI_utildefines prefix for header-only libs

This allows to have different macro headers without them sharing
similar names to regular C modules.

2 years agoBoolean Modifier: add debug options
Campbell Barton [Tue, 19 Sep 2017 08:29:52 +0000 (18:29 +1000)]
Boolean Modifier: add debug options

Only show & use when running in debug mode.

2 years agoFix T52811: At any framerate selected, video exported with 1000fps
Sergey Sharybin [Tue, 19 Sep 2017 06:30:37 +0000 (11:30 +0500)]
Fix T52811: At any framerate selected, video exported with 1000fps

2 years agoAvoid bias when calculating quad split direction
Campbell Barton [Tue, 19 Sep 2017 05:03:58 +0000 (15:03 +1000)]
Avoid bias when calculating quad split direction

Some error checks weren't being done in both directions
when calculating the best split direction for a quad.

2 years agoCorrect recent error in boolean quad split check
Campbell Barton [Tue, 19 Sep 2017 04:25:37 +0000 (14:25 +1000)]
Correct recent error in boolean quad split check

2 years agoAdd some security checks against future bad float UIprecision values.
Bastien Montagne [Mon, 18 Sep 2017 17:50:40 +0000 (19:50 +0200)]
Add some security checks against future bad float UIprecision values.

This commit and previous one should be backported to 2.79a should we
release it.

2 years agoFix (irc-reported by @sergey) invalid precision value in a float RNA property.
Bastien Montagne [Mon, 18 Sep 2017 17:18:02 +0000 (19:18 +0200)]
Fix (irc-reported by @sergey) invalid precision value in a float RNA property.

Maximum allowed UI float precision value is 6 (which means 7 digits).

Will change code checking on that in next commit.

2 years ago[cmake/dependencies] Update libsndfile to 1.0.28
Ray Molenkamp [Mon, 18 Sep 2017 16:54:37 +0000 (10:54 -0600)]
[cmake/dependencies] Update libsndfile to 1.0.28

2 years agoCleanup: use clamped rounding functions
Campbell Barton [Mon, 18 Sep 2017 11:11:41 +0000 (21:11 +1000)]
Cleanup: use clamped rounding functions

2 years agoMath Lib: clamped rounding utility functions
Campbell Barton [Mon, 18 Sep 2017 11:03:10 +0000 (21:03 +1000)]
Math Lib: clamped rounding utility functions

2 years agoColor management: When look is applied, we can not consider spaces to match
Sergey Sharybin [Mon, 18 Sep 2017 13:09:53 +0000 (18:09 +0500)]
Color management: When look is applied, we can not consider spaces to match

This should fix T52812 after merge to blender2.8.

2 years agoFix T52800: fix UI flickering with Mesa on Linux.
Brecht Van Lommel [Mon, 18 Sep 2017 11:12:36 +0000 (13:12 +0200)]
Fix T52800: fix UI flickering with Mesa on Linux.

Use triple buffer by default now on all platforms, remaing ones where:
* Mesa: seems to have been working well for a long time now, and not using
  it gives issues with the latest Mesa 17.2.0.
* Windows software OpenGL: no longer supported since OpenGL 2.1 requirement
  was introduced.
* OS X with thousands of colors: this option was removed in OS X 10.6, and
  that's our minimum requirement.

2 years agoFix Cycles adaptive compile without volumes broken after recent changes.
Carlo Andreacchio [Mon, 18 Sep 2017 10:31:17 +0000 (12:31 +0200)]
Fix Cycles adaptive compile without volumes broken after recent changes.

Differential Revision:

2 years agoFix T52801: reload scripts causes Cycles viewport render crash.
Brecht Van Lommel [Mon, 18 Sep 2017 01:36:39 +0000 (03:36 +0200)]
Fix T52801: reload scripts causes Cycles viewport render crash.

2 years agoFix T52432: Blender crashes while using Ghost (new depsgraph)
Sergey Sharybin [Mon, 18 Sep 2017 10:50:27 +0000 (15:50 +0500)]
Fix T52432: Blender crashes while using Ghost (new depsgraph)

2 years agoBMesh: move bridge tools stepping logic into macro
Campbell Barton [Sun, 17 Sep 2017 14:06:29 +0000 (00:06 +1000)]
BMesh: move bridge tools stepping logic into macro

Also use floor division since regular division was giving a bias
on negative error values.

2 years agoMath Lib: add divide_floor_i
Campbell Barton [Mon, 18 Sep 2017 03:14:58 +0000 (13:14 +1000)]
Math Lib: add divide_floor_i

Integer division that floors on negative output (like Python's).

2 years agoUI: avoid int cast before clamping number input
Campbell Barton [Sun, 17 Sep 2017 07:56:23 +0000 (17:56 +1000)]
UI: avoid int cast before clamping number input

Values outside int range would overflow.

2 years agoCleanup: SGI format, remove unused struct members
Campbell Barton [Sun, 17 Sep 2017 07:55:04 +0000 (17:55 +1000)]
Cleanup: SGI format, remove unused struct members

2 years agoFix SGI foramt reader CVE-2017-2901
Campbell Barton [Sun, 17 Sep 2017 06:22:56 +0000 (16:22 +1000)]
Fix SGI foramt reader CVE-2017-2901

Integer Overflow Code Execution Vulnerability.

Reader no longer crashes on corrupt images (from own fuzz testing).

2 years agoCleanup: SGI format, avoid overflow
Campbell Barton [Sun, 17 Sep 2017 06:19:07 +0000 (16:19 +1000)]
Cleanup: SGI format, avoid overflow

Harmless but causes warnings

2 years agoCleanup: SGI format, use uint/short/char types
Campbell Barton [Sun, 17 Sep 2017 06:14:59 +0000 (16:14 +1000)]
Cleanup: SGI format, use uint/short/char types

2 years agoCycles: Fix compilation error with OpenCL split kernel
Hristo Gueorguiev [Sat, 16 Sep 2017 10:33:03 +0000 (12:33 +0200)]
Cycles: Fix compilation error with OpenCL split kernel

2 years agoFix T51074: Boolean modifier inverts operation
Campbell Barton [Sat, 16 Sep 2017 08:10:25 +0000 (18:10 +1000)]
Fix T51074: Boolean modifier inverts operation

Support for negative scaled objects.

2 years agoFix writing Iris images w/ invalid header
Campbell Barton [Sat, 16 Sep 2017 06:07:27 +0000 (16:07 +1000)]
Fix writing Iris images w/ invalid header

Regression in e142ae77cadf

2 years agoFix T52384: Bridge pair result depends on other loops
Campbell Barton [Fri, 15 Sep 2017 19:06:19 +0000 (05:06 +1000)]
Fix T52384: Bridge pair result depends on other loops

When 2x loops have different number of vertices,
the distribution for vertices fan-fill depended on the loop order
and was often lop-sided.

This caused noticeable inconstancies depending on the input
since edge-loops are flipped to match each others winding order.

2 years agoRNA: expose RegionView3D clip planes
mano-wii [Fri, 15 Sep 2017 16:55:52 +0000 (13:55 -0300)]
RNA: expose RegionView3D clip planes

2 years agoDocs: only show versions in changelog side-bar
Campbell Barton [Fri, 15 Sep 2017 12:20:14 +0000 (22:20 +1000)]
Docs: only show versions in changelog side-bar

2 years agoDocs: update API changelog to 2.79
Campbell Barton [Fri, 15 Sep 2017 12:05:31 +0000 (22:05 +1000)]
Docs: update API changelog to 2.79

2 years agoFix T52763: Boolean problem with vertex group
Sergey Sharybin [Fri, 15 Sep 2017 11:33:37 +0000 (16:33 +0500)]
Fix T52763: Boolean problem with vertex group

2 years agoBMesh: use less involved check for edge rotation
Campbell Barton [Fri, 15 Sep 2017 08:19:04 +0000 (18:19 +1000)]
BMesh: use less involved check for edge rotation

Was using function for edge rotation which was doing unnecessary checks
Use the face normal and BLI_polyfill_beautify_quad_rotate_calc directly.

2 years agoPolyfill Beautify: option to rotate out of degenerate state
Campbell Barton [Fri, 15 Sep 2017 08:14:17 +0000 (18:14 +1000)]
Polyfill Beautify: option to rotate out of degenerate state

Needed for 3D iterative edge-rotation to avoid flipping when projected
from different angles,
but could keep zero area faces in 2D polygons.

2 years agoFix error in recent boolean changes w/ quad split
Campbell Barton [Fri, 15 Sep 2017 08:07:00 +0000 (18:07 +1000)]
Fix error in recent boolean changes w/ quad split

2 years agoTransform: Enable recursion dependency check for new depsgraph
Sergey Sharybin [Fri, 15 Sep 2017 07:25:57 +0000 (12:25 +0500)]
Transform: Enable recursion dependency check for new depsgraph

2 years agoFix copy-paste error in recent particles fix
Sergey Sharybin [Fri, 15 Sep 2017 06:35:00 +0000 (11:35 +0500)]
Fix copy-paste error in recent particles fix

Was intersecting same triangle twice.

2 years agoFix T52442: bl_app_templates_system not working
Campbell Barton [Thu, 14 Sep 2017 19:46:43 +0000 (05:46 +1000)]
Fix T52442: bl_app_templates_system not working

Portable builds LOCAL files need to be
treated as system instead of using as a fallback to USER templates.

2 years agoFix bpy.utils.resource_path('SYSTEM') output
Campbell Barton [Thu, 14 Sep 2017 19:46:30 +0000 (05:46 +1000)]
Fix bpy.utils.resource_path('SYSTEM') output

Would return the test path for developer builds:

Now return an empty string when no path is found.

2 years agoFix T52732: Particle system volume grid particles out of volume
Sergey Sharybin [Thu, 14 Sep 2017 14:43:00 +0000 (19:43 +0500)]
Fix T52732: Particle system volume grid particles out of volume

Use more watertight and robust intersection test.

It uses now ray to triangle intersection, but it's all fine because segment was
covering the whole bounding box anyway.

2 years agoFix T52729: Decimals not showing over 100m or 100 feet
Bastien Montagne [Thu, 14 Sep 2017 14:34:05 +0000 (16:34 +0200)]
Fix T52729: Decimals not showing over 100m or 100 feet

Use same 5 digits precision as we already use for e.g. Object's
location, for Object's dimensions too.

To be backported to 2.79a, should we do it.

2 years agoFix T52537: Dyntopo "detail flood fill" doesn't work in some cases
Sergey Sharybin [Thu, 14 Sep 2017 13:55:08 +0000 (18:55 +0500)]
Fix T52537: Dyntopo "detail flood fill" doesn't work in some cases

Mainly when object origin is not at the geometry bounding box center.

Seems to be straightforward to fix, hopefully it doesn't break some obscure case
where this was a desired behavior.

2 years agoCorrect error in last commit
Campbell Barton [Thu, 14 Sep 2017 13:04:01 +0000 (23:04 +1000)]
Correct error in last commit

2 years agoFix T52748: Select shortest face path fails
Campbell Barton [Thu, 14 Sep 2017 12:56:48 +0000 (22:56 +1000)]
Fix T52748: Select shortest face path fails

2 years agoFix T51416: Blender Crashes while moving Sliders
Sergey Sharybin [Wed, 13 Sep 2017 15:12:19 +0000 (20:12 +0500)]
Fix T51416: Blender Crashes while moving Sliders

The issue here was that removing datablock from main database will poke editors
update, which includes buttons context to free users of texture. Since Cycles
will free datablocks from job thread, it might crash Blender since main thread
might be in the middle of drawing.

Solved by exposing extra arguments to which indicates
whether we want to perform ID user count and interface updates. While scripts
shouldn't be using those normally, this is the only way to allow Cycles to skip
interface update when removing datablock.

Reviewers: mont29

Reviewed By: mont29

Differential Revision:

2 years agoFix T52653: Render output of linked scenes conflicts with other scenes with the same...
Sergey Sharybin [Tue, 12 Sep 2017 06:27:22 +0000 (11:27 +0500)]
Fix T52653: Render output of linked scenes conflicts with other scenes with the same name

The issue was caused by render result identifier only consist of scene name,
which could indeed cause conflicts.

On the one hand, there are quite some areas in Blender where we need identifier
to be unique to properly address things. Usually this is required for sub-data
of IDs, like bones. On another hand, it's not that hard to support this
particular case and avoid possible frustration.

The idea is, we add library name to render identifier for linked scenes. We use
library name and not pointer so we preserve render results through undo stack.

Reviewers: campbellbarton, mont29, brecht

Reviewed By: mont29

Differential Revision:

2 years agoFix T52749: New Depsgraph - Render View Mask is not initialized correctly
Sergey Sharybin [Thu, 14 Sep 2017 11:12:01 +0000 (16:12 +0500)]
Fix T52749: New Depsgraph - Render View Mask is not initialized correctly

2 years agoMasks: Split layer evaluation into separate function
Sergey Sharybin [Thu, 14 Sep 2017 11:09:06 +0000 (16:09 +0500)]
Masks: Split layer evaluation into separate function

This way we can easily re-use bits of code for new dependency graph.

Currently should be no functional changes.

2 years agoFix T52739: Crash loading corrupted video files
Sergey Sharybin [Thu, 14 Sep 2017 09:55:35 +0000 (14:55 +0500)]
Fix T52739: Crash loading corrupted video files

Affects both "normal" open as a video file and thumbnail generation.

2 years agoFix failure in our UI code that could allow search button without search callbacks...
Bastien Montagne [Thu, 14 Sep 2017 08:58:47 +0000 (10:58 +0200)]
Fix failure in our UI code that could allow search button without search callbacks, leading to crash.

Related to (exposed by) T52735, fixes the reported crash but not the
underlying issue.

To be backported to 2.79a should we do one.

2 years agoFix T52723: Reset UV layers failed
Campbell Barton [Thu, 14 Sep 2017 07:45:17 +0000 (17:45 +1000)]
Fix T52723: Reset UV layers failed

2 years agoFix T52741: Follow track with depth object crashes Blender with new depsgraph
Sergey Sharybin [Thu, 14 Sep 2017 07:31:54 +0000 (12:31 +0500)]
Fix T52741: Follow track with depth object crashes Blender with new depsgraph

2 years agoRecent action-bake used Py3.6 syntax
Campbell Barton [Thu, 14 Sep 2017 07:03:40 +0000 (17:03 +1000)]
Recent action-bake used Py3.6 syntax

2 years agoFix T52291: Boolean fails w/ co-linear edged ngons
Campbell Barton [Thu, 14 Sep 2017 06:00:27 +0000 (16:00 +1000)]
Fix T52291: Boolean fails w/ co-linear edged ngons

This means boolean tessellation wont match viewport tessellation
however it's needed to avoid zero area triangles causing problems.

2 years agoFix T52299: X resolution of 4 causes nodes to collapse
Sergey Sharybin [Wed, 13 Sep 2017 13:29:37 +0000 (18:29 +0500)]
Fix T52299: X resolution of 4 causes nodes to collapse

Was caused by numeric overflow when calculating preview dimensions.
Now we try to avoid really insance preview resolutions by fitting
aspect into square.

2 years agoCode cleanup: store branch factor in PathState.
Brecht Van Lommel [Sun, 10 Sep 2017 12:09:12 +0000 (14:09 +0200)]
Code cleanup: store branch factor in PathState.

2 years agoCode cleanup: avoid used of uninitialized value in case of precision issue.
Brecht Van Lommel [Fri, 8 Sep 2017 01:21:50 +0000 (03:21 +0200)]
Code cleanup: avoid used of uninitialized value in case of precision issue.

2 years agoCode cleanup: abstract shadow catcher logic more into accumulation code.
Brecht Van Lommel [Mon, 28 Aug 2017 11:33:37 +0000 (13:33 +0200)]
Code cleanup: abstract shadow catcher logic more into accumulation code.

2 years agoCode cleanup: deduplicate some branched and split kernel code.
Brecht Van Lommel [Wed, 13 Sep 2017 00:10:24 +0000 (02:10 +0200)]
Code cleanup: deduplicate some branched and split kernel code.

Benchmarks peformance on GTX 1080 and RX 480 on Linux is the same for
bmw27, classroom, pabellon, and about 2% faster on fishy_cat and koro.

2 years agoCode cleanup: tweak inlining for 2% better CUDA performance with hair.
Brecht Van Lommel [Tue, 12 Sep 2017 22:12:51 +0000 (00:12 +0200)]
Code cleanup: tweak inlining for 2% better CUDA performance with hair.

2 years agoFix T52140: Align objects centers using origin for text
Sergey Sharybin [Wed, 13 Sep 2017 12:38:20 +0000 (17:38 +0500)]
Fix T52140: Align objects centers using origin for text

The issue was caused by operator redo which frees all object's evaluated data,
including bounding box. This bounding box can not be reconstructed properly
without full curve evaluation (need to at least convert font to nurbs, which is
not cheap already).

2 years agoCleanup: avoid right-shifted args in RNA register
Campbell Barton [Wed, 13 Sep 2017 11:52:57 +0000 (21:52 +1000)]
Cleanup: avoid right-shifted args in RNA register

2 years agoNode UI: scale cross by pixelsize
Campbell Barton [Wed, 13 Sep 2017 11:46:43 +0000 (21:46 +1000)]
Node UI: scale cross by pixelsize

Draws a little smaller to fit with 2.8x manipulator.

2 years agoFix T52113: Compositor doesnt mix unrendered render layers well
Sergey Sharybin [Wed, 13 Sep 2017 10:37:01 +0000 (15:37 +0500)]
Fix T52113: Compositor doesnt mix unrendered render layers well

Compositor was always defaulting to all-zero s output for missing passes.

This was broken in 4cf7fc3.

2 years agoCompositor: Cleanup, get rid of nested ternary operators
Sergey Sharybin [Wed, 13 Sep 2017 10:00:14 +0000 (15:00 +0500)]
Compositor: Cleanup, get rid of nested ternary operators

Having single switch statement is much more readable.

2 years agoCompositor: Cleanup, de-duplicate some code
Sergey Sharybin [Wed, 13 Sep 2017 09:57:57 +0000 (14:57 +0500)]
Compositor: Cleanup, de-duplicate some code

2 years agoCompositor: Cleanup, reduce indentation level in render layer node
Sergey Sharybin [Wed, 13 Sep 2017 09:52:24 +0000 (14:52 +0500)]
Compositor: Cleanup, reduce indentation level in render layer node

There is absolute no reason to have such an indentation level, it only causes
readability and maintainability issues. It is really simple to make code more

2 years agoCycles: change AO bounces approximation to do more glossy and transmission.
Mathieu Menuet [Tue, 12 Sep 2017 13:13:55 +0000 (15:13 +0200)]
Cycles: change AO bounces approximation to do more glossy and transmission.

Rather than treating all ray types equally, we now always render 1 glossy
bounce and unlimited transmission bounces. This makes it possible to get
good looking results with low AO bounces settings, making it useful to
speed up interior renders for example.

Reviewed By: brecht

Differential Revision: