blender.git
23 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 3 Nov 2017 15:17:01 +0000 (16:17 +0100)]
Merge branch 'master' into blender2.8

23 months agoScene RNA API: Main from globals goes away
Sergey Sharybin [Fri, 3 Nov 2017 15:15:49 +0000 (16:15 +0100)]
Scene RNA API: Main from globals goes away

Bye bye..

23 months agoDepsgraph: Use explicit depsgraph in object add
Sergey Sharybin [Fri, 3 Nov 2017 14:46:12 +0000 (15:46 +0100)]
Depsgraph: Use explicit depsgraph in object add

23 months agoDepsgraph: Port more areas to direct depsgraph API
Sergey Sharybin [Fri, 3 Nov 2017 13:36:49 +0000 (14:36 +0100)]
Depsgraph: Port more areas to direct depsgraph API

This is a lots of changes, but they are boiling down to a simple API
changes where we are no longer relying on implicit usage of scene's
depsgraph and pass depsgraph explicitly.

There should be no user measurable difference, render_layer* tests
are also passing.

23 months agoDepsgraph: Use explicit graph API in transform code
Sergey Sharybin [Fri, 3 Nov 2017 13:05:49 +0000 (14:05 +0100)]
Depsgraph: Use explicit graph API in transform code

23 months agoDepsgraph: Add utility function to tag ID for update within a specific graph
Sergey Sharybin [Fri, 3 Nov 2017 11:10:04 +0000 (12:10 +0100)]
Depsgraph: Add utility function to tag ID for update within a specific graph

23 months agoDepsgraph: Use explicit depsgraph in alembic module
Sergey Sharybin [Fri, 3 Nov 2017 11:02:39 +0000 (12:02 +0100)]
Depsgraph: Use explicit depsgraph in alembic module

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 3 Nov 2017 10:22:27 +0000 (21:22 +1100)]
Merge branch 'master' into blender2.8

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 3 Nov 2017 09:59:15 +0000 (20:59 +1100)]
Merge branch 'master' into blender2.8

23 months agoCleanup: split interface_regions.c
Campbell Barton [Fri, 3 Nov 2017 09:26:35 +0000 (20:26 +1100)]
Cleanup: split interface_regions.c

Each region type is quite separate and file was getting too big.

23 months agoFix incorrect allocation size
Campbell Barton [Fri, 3 Nov 2017 08:23:47 +0000 (19:23 +1100)]
Fix incorrect allocation size

23 months agoCleanup: move tool-bar checks into functions
Campbell Barton [Fri, 3 Nov 2017 05:30:51 +0000 (16:30 +1100)]
Cleanup: move tool-bar checks into functions

Also support separator in tool-bar sub-menus

23 months agoFix Blenderplayer (tm)
Jens Verwiebe [Thu, 2 Nov 2017 23:39:50 +0000 (00:39 +0100)]
Fix Blenderplayer (tm)

23 months agoFreestyle: Fix access freed memory when freeing fresstyle bmain
Sergey Sharybin [Thu, 2 Nov 2017 16:58:11 +0000 (17:58 +0100)]
Freestyle: Fix access freed memory when freeing fresstyle bmain

Some of the uninitializaiton code was leaving bases pointing freed memory.

23 months agoFix iterator usage from C++ code
Sergey Sharybin [Thu, 2 Nov 2017 16:54:06 +0000 (17:54 +0100)]
Fix iterator usage from C++ code

Old code was not supported by GCC, see some details and progress

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606

23 months agoFreestyle: Keep lines on manageable complexity
Sergey Sharybin [Thu, 2 Nov 2017 15:01:16 +0000 (16:01 +0100)]
Freestyle: Keep lines on manageable complexity

Two level;s of casts in a single line, c'mon.

23 months agoFix Cycles showing empty tiles while they are being denoised.
Brecht Van Lommel [Thu, 2 Nov 2017 14:05:57 +0000 (15:05 +0100)]
Fix Cycles showing empty tiles while they are being denoised.

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 2 Nov 2017 14:16:10 +0000 (01:16 +1100)]
Merge branch 'master' into blender2.8

23 months agoCleanup: minor comment correction
Campbell Barton [Thu, 2 Nov 2017 14:10:03 +0000 (01:10 +1100)]
Cleanup: minor comment correction

23 months agoUI: add UI_SELECT_DRAW flag
Campbell Barton [Thu, 2 Nov 2017 13:45:30 +0000 (00:45 +1100)]
UI: add UI_SELECT_DRAW flag

Allow to draw as pressed w/o interfering with behavior.

Resolves issue where buttons raised on mouse-over.

23 months agoMerge branch 'master' into blender2.8
Sybren A. Stüvel [Thu, 2 Nov 2017 13:37:10 +0000 (14:37 +0100)]
Merge branch 'master' into blender2.8

# Conflicts:
# tests/gtests/alembic/abc_export_test.cc

23 months agoAlembic: not using global in unit test.
Sybren A. Stüvel [Thu, 2 Nov 2017 13:33:13 +0000 (14:33 +0100)]
Alembic: not using global in unit test.

Thanks @sergey for pointing out this fix.

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 2 Nov 2017 13:31:47 +0000 (00:31 +1100)]
Merge branch 'master' into blender2.8

23 months agoFix T53182: cancelling save buffers + denoising render clears image.
Brecht Van Lommel [Thu, 2 Nov 2017 13:29:42 +0000 (14:29 +0100)]
Fix T53182: cancelling save buffers + denoising render clears image.

23 months agoUI: free up bit in uiBut.flag
Campbell Barton [Thu, 2 Nov 2017 13:22:59 +0000 (00:22 +1100)]
UI: free up bit in uiBut.flag

23 months agoUI: workaround glitch refreshing the toolbar
Campbell Barton [Thu, 2 Nov 2017 12:52:03 +0000 (23:52 +1100)]
UI: workaround glitch refreshing the toolbar

23 months agoUI: draw operator menus below buttons
Campbell Barton [Thu, 2 Nov 2017 12:43:51 +0000 (23:43 +1100)]
UI: draw operator menus below buttons

Following the down arrow on the buttons

23 months agoUI: store tool index of non-active tools
Campbell Barton [Thu, 2 Nov 2017 12:30:01 +0000 (23:30 +1100)]
UI: store tool index of non-active tools

23 months agoCycles: Add another limit to OpenCL memory usage
Mai Lavelle [Thu, 2 Nov 2017 12:10:24 +0000 (08:10 -0400)]
Cycles: Add another limit to OpenCL memory usage

Some drivers may report very large allocation sizes, which could cause
unnecessary memory usage. This is now limited to 2gb which should
still be enough to get the needed performance benefits without waste.

23 months agoUI: support nested tools in toolbar
Campbell Barton [Thu, 2 Nov 2017 12:05:13 +0000 (23:05 +1100)]
UI: support nested tools in toolbar

23 months agoSpace clip: Make it more clear that filter track does not use any settings from tool...
Sergey Sharybin [Thu, 2 Nov 2017 11:33:39 +0000 (12:33 +0100)]
Space clip: Make it more clear that filter track does not use any settings from tool shelf

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 2 Nov 2017 07:25:47 +0000 (18:25 +1100)]
Merge branch 'master' into blender2.8

23 months agoUI: use button_operator in operator_menu_hold
Campbell Barton [Thu, 2 Nov 2017 07:19:11 +0000 (18:19 +1100)]
UI: use button_operator in operator_menu_hold

Move draw calls into UI_menutype_draw

23 months agoUI: draw active tool pushed in
Campbell Barton [Thu, 2 Nov 2017 04:52:16 +0000 (15:52 +1100)]
UI: draw active tool pushed in

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 2 Nov 2017 04:44:33 +0000 (15:44 +1100)]
Merge branch 'master' into blender2.8

23 months agoCleanup: code style
Campbell Barton [Thu, 2 Nov 2017 04:09:11 +0000 (15:09 +1100)]
Cleanup: code style

23 months agoImplement a new automatic handle algorithm to produce smooth F-Curves.
Alexander Gavrilov [Wed, 1 Nov 2017 18:34:30 +0000 (21:34 +0300)]
Implement a new automatic handle algorithm to produce smooth F-Curves.

The legacy algorithm only considers two adjacent points when computing
the bezier handles, which cannot produce satisfactory results. Animators
are often forced to manually adjust all curves.

The new approach instead solves a system of equations to trace a cubic spline
with continuous second derivative through the whole segment of auto points,
delimited at ends by keyframes with handles set by other requirements.

This algorithm also adjusts Vector handles that face ordinary bezier keyframes
to achieve zero acceleration at the Vector keyframe, instead of simply pointing
it at the adjacent point.

Original idea and implementation by Benoit Bolsee <benoit.bolsee@online.be>;
code mostly rewritten to improve code clarity and extensibility.

Reviewers: aligorith

Differential Revision: https://developer.blender.org/D2884

23 months agoCleanup: use term shape-preset in widget code
Campbell Barton [Wed, 1 Nov 2017 18:48:14 +0000 (05:48 +1100)]
Cleanup: use term shape-preset in widget code

23 months agoUI: Option to draw button pressed
Campbell Barton [Wed, 1 Nov 2017 18:00:09 +0000 (05:00 +1100)]
UI: Option to draw button pressed

Needed to show the active tool

23 months agoUI: Add UILayout.operator_menu_hold
Campbell Barton [Wed, 1 Nov 2017 17:30:07 +0000 (04:30 +1100)]
UI: Add UILayout.operator_menu_hold

This is an operator button that opens a menu when the button is held.

23 months agoEevee: Fix Black volumetrics.
Clément Foucault [Wed, 1 Nov 2017 17:48:55 +0000 (18:48 +0100)]
Eevee: Fix Black volumetrics.

Was caused by a division by 0.

23 months agoFix T53217: GLSL principled BSDF black with zero clearcoat roughness.
Brecht Van Lommel [Wed, 1 Nov 2017 16:12:36 +0000 (17:12 +0100)]
Fix T53217: GLSL principled BSDF black with zero clearcoat roughness.

23 months agoEevee: Fix crash when using only 1 viewport sample + volumetrics
Clément Foucault [Wed, 1 Nov 2017 15:50:06 +0000 (16:50 +0100)]
Eevee: Fix crash when using only 1 viewport sample + volumetrics

23 months agoEevee: Fix refraction & alpha blend object disapearing
Clément Foucault [Wed, 1 Nov 2017 15:36:05 +0000 (16:36 +0100)]
Eevee: Fix refraction & alpha blend object disapearing

23 months agoEevee: Remove unecessary planar_minmaxz
Clément Foucault [Wed, 1 Nov 2017 15:19:07 +0000 (16:19 +0100)]
Eevee: Remove unecessary planar_minmaxz

23 months agoEevee: Do not allocate minz buffer.
Clément Foucault [Wed, 1 Nov 2017 15:17:33 +0000 (16:17 +0100)]
Eevee: Do not allocate minz buffer.

It's not needed for now.

23 months agoCycles: Add utility function to distinguish between scatter and absorption volume ID
Sergey Sharybin [Wed, 1 Nov 2017 10:10:51 +0000 (11:10 +0100)]
Cycles: Add utility function to distinguish between scatter and absorption volume ID

23 months agoCycles: Cleanup, make it more obvious what preprocessor belongs to
Sergey Sharybin [Wed, 1 Nov 2017 10:10:10 +0000 (11:10 +0100)]
Cycles: Cleanup, make it more obvious what preprocessor belongs to

23 months agoCycles: Cleanup, delete trailing whitespace
Sergey Sharybin [Wed, 1 Nov 2017 10:06:55 +0000 (11:06 +0100)]
Cycles: Cleanup, delete trailing whitespace

23 months agoFix for T48988 - Enabling bbone easing for posemode
Joshua Leung [Wed, 1 Nov 2017 00:38:51 +0000 (13:38 +1300)]
Fix for T48988 - Enabling bbone easing for posemode

This fix enables the usage of bbones easing parameters for edit and pose mode seperately. This allows animators to take advantage of the functionality and may eliminate confusion as the parameters now behave similar to other bbone parameters.

Note that splitting the parameters between the modes effectively creates a new parameter set. Blend files of previous versions do not contain this information and will have the values set to 0 on load. As it broke backwards compatibility for pose mode values anyway, I also took the liberty to rename the easing parameters in some places for consistency (which breaks edit mode values).

Reviewers: aligorith

Subscribers: aligorith

Tags: #animation

Differential Revision: https://developer.blender.org/D2796

23 months agoCleanup: style
Campbell Barton [Wed, 1 Nov 2017 00:56:56 +0000 (11:56 +1100)]
Cleanup: style

23 months agoEevee: SSR: Use max lod on planar reflections.
Clément Foucault [Wed, 1 Nov 2017 00:08:58 +0000 (01:08 +0100)]
Eevee: SSR: Use max lod on planar reflections.

23 months agoEevee: Fix Bad AO on opaque refractive geometry.
Clément Foucault [Wed, 1 Nov 2017 00:06:19 +0000 (01:06 +0100)]
Eevee: Fix Bad AO on opaque refractive geometry.

23 months agoEevee: Effects: Split each effect in it's own file.
Clément Foucault [Wed, 1 Nov 2017 00:03:36 +0000 (01:03 +0100)]
Eevee: Effects: Split each effect in it's own file.

This also:
- make sure to only compile the shader needed by the active effects.
- same thing for the shading groups.
- disable TAA if motion blur is active (avoid infinite refresh).

23 months agoDraw Manager: Fix crash when trying to order an empty shading group.
Clément Foucault [Tue, 31 Oct 2017 23:57:25 +0000 (00:57 +0100)]
Draw Manager: Fix crash when trying to order an empty shading group.

This fix crash when using only the volume output with an alpha blend material

23 months agoEevee: Fix Exponent default in versioning code
Clément Foucault [Tue, 31 Oct 2017 23:54:47 +0000 (00:54 +0100)]
Eevee: Fix Exponent default in versioning code

23 months agoEevee: Silence warning
Clément Foucault [Sat, 28 Oct 2017 12:08:30 +0000 (14:08 +0200)]
Eevee: Silence warning

23 months agoMesh Auto-Smooth Split Normal Support
Germano [Tue, 31 Oct 2017 17:15:14 +0000 (15:15 -0200)]
Mesh Auto-Smooth Split Normal Support

From D2906 with few changes

23 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 31 Oct 2017 16:38:53 +0000 (17:38 +0100)]
Merge branch 'master' into blender2.8

23 months agoFix bplayer (c)
Bastien Montagne [Tue, 31 Oct 2017 16:15:16 +0000 (17:15 +0100)]
Fix bplayer (c)

Like seriously guys... twice within a few hours, compile full blender please
when you change APIs!

23 months agoLayers: unittest update after workspace > engine changes
Dalai Felinto [Tue, 31 Oct 2017 14:30:19 +0000 (12:30 -0200)]
Layers: unittest update after workspace > engine changes

All tests working again now.
Remember to update the svn lib/tests/layers folder.

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 31 Oct 2017 14:21:12 +0000 (01:21 +1100)]
Merge branch 'master' into blender2.8

23 months agoPrevent users to be able to override context engine
Dalai Felinto [Tue, 31 Oct 2017 14:09:06 +0000 (12:09 -0200)]
Prevent users to be able to override context engine

We expose engine as a string, yet context is dealing with Pointers. To prevent a crash
we may as well just forbid users to override it.

23 months agoExperiment with adding output file meta data from render engine
Sergey Sharybin [Mon, 6 Feb 2017 16:24:28 +0000 (17:24 +0100)]
Experiment with adding output file meta data from render engine

The idea is to make it possible to report extra meta data from
render engine to the file writing. This way we can provide
additional information such as number of samples rendered by
resumable Cycles rendering so we can easily combine files back.

Currently only report number of samples from Cycles when rendering
a single render-layer scene. This is something what was required
here at the studio. We can easily extend that further.

Ideally we would also need to support non-string metadata, but
that's for later.

Reviewers: mont29, campbellbarton

Reviewed By: mont29, campbellbarton

Subscribers: sybren, candreacchio

Differential Revision: https://developer.blender.org/D2502

23 months agoAdd ability for render engines to report extra meta data to pipeline
Sergey Sharybin [Mon, 6 Feb 2017 16:23:02 +0000 (17:23 +0100)]
Add ability for render engines to report extra meta data to pipeline

23 months agoAdd ability to specify custom fields to be saved from render result
Sergey Sharybin [Mon, 6 Feb 2017 16:03:59 +0000 (17:03 +0100)]
Add ability to specify custom fields to be saved from render result

23 months agoStamp info: Use dedicated function to free up memory
Sergey Sharybin [Mon, 6 Feb 2017 15:54:41 +0000 (16:54 +0100)]
Stamp info: Use dedicated function to free up memory

This way it's more flexible to extend StampData structure
with additional stuff which might require memory free.

23 months agoWorkspace cleanup: engine_id is in ViewRender
Dalai Felinto [Tue, 31 Oct 2017 14:02:38 +0000 (12:02 -0200)]
Workspace cleanup: engine_id is in ViewRender

23 months agoFix bplayer (c)
Bastien Montagne [Tue, 31 Oct 2017 13:52:52 +0000 (14:52 +0100)]
Fix bplayer (c)

23 months agoCollections: Bring back simple visibility behaviour
Dalai Felinto [Tue, 31 Oct 2017 13:39:17 +0000 (11:39 -0200)]
Collections: Bring back simple visibility behaviour

If an object is in any visible collection, the object will be visible.
This behaviour has changed in 9ad2c0b6154b.

If it will change again, it will be for:
https://developer.blender.org/D2878

23 months agoTracking: Create mesh from selected tracks only
Sergey Sharybin [Tue, 31 Oct 2017 13:01:44 +0000 (14:01 +0100)]
Tracking: Create mesh from selected tracks only

Patch by Sebastian Koenig. thanks!

23 months agoCycles: Bump version number to 1.9.0
Sergey Sharybin [Tue, 31 Oct 2017 12:31:41 +0000 (13:31 +0100)]
Cycles: Bump version number to 1.9.0

This matches Blender Release 2.79.

23 months agoFix crash of standalone app after recent refactor
Sergey Sharybin [Tue, 31 Oct 2017 11:46:38 +0000 (12:46 +0100)]
Fix crash of standalone app after recent refactor

23 months agoMacOS: Use correct Cocoa protocol on any compiler
Arto Kitula [Tue, 31 Oct 2017 09:30:55 +0000 (11:30 +0200)]
MacOS: Use correct Cocoa protocol on any compiler

23 months agoUI: replace UI_ITEM_O_RETURN_PROPS /w return arg
Campbell Barton [Tue, 31 Oct 2017 05:58:26 +0000 (16:58 +1100)]
UI: replace UI_ITEM_O_RETURN_PROPS /w return arg

Means we can have a version of this function that returns the button
and avoids returning a struct that often isn't used.

23 months agoUI: avoid double operator type lookup
Campbell Barton [Tue, 31 Oct 2017 01:44:41 +0000 (12:44 +1100)]
UI: avoid double operator type lookup

23 months agoIntroduce "skip" in BLI_Iterator struct
Dalai Felinto [Mon, 30 Oct 2017 21:34:46 +0000 (19:34 -0200)]
Introduce "skip" in BLI_Iterator struct

This helps iterators prevent recursion.

23 months agoFix renderlayers UI removing the wrong renderlayer
Dalai Felinto [Mon, 30 Oct 2017 21:11:24 +0000 (19:11 -0200)]
Fix renderlayers UI removing the wrong renderlayer

Bug introduced on 1c4c28872721 (well technically in b48694639a).
We should not remove the renderlayer from the context, but instead the one that
is active from scene.

That said, the UI should make a distinction between the scene active render layer
and the one that is active in the UI (and that should be the one used when
removing it).

But for now this is at least more consistent for the users.

23 months agoFix T53191: Python API Reference link wrong in splash screen.
Bastien Montagne [Mon, 30 Oct 2017 11:59:11 +0000 (12:59 +0100)]
Fix T53191: Python API Reference link wrong in splash screen.

Forgot to update splashscreen links when we switched API doc naming
scheme...

23 months agoCurve Decimate: new tool to simplify bezier curves
Campbell Barton [Mon, 30 Oct 2017 11:36:51 +0000 (22:36 +1100)]
Curve Decimate: new tool to simplify bezier curves

Access from the curve clean-up menu

23 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 30 Oct 2017 07:48:39 +0000 (18:48 +1100)]
Merge branch 'master' into blender2.8

23 months agoCMake: cleanup
Campbell Barton [Mon, 30 Oct 2017 01:58:44 +0000 (12:58 +1100)]
CMake: cleanup

23 months agoDraw Manager: re-enable edit-mesh text overlay
mano-wii [Mon, 30 Oct 2017 06:21:48 +0000 (17:21 +1100)]
Draw Manager: re-enable edit-mesh text overlay

23 months agoFix manipulator drawing before their refresh callback
Campbell Barton [Sat, 28 Oct 2017 05:07:56 +0000 (16:07 +1100)]
Fix manipulator drawing before their refresh callback

Caused glitch with Scale-Cage tool.

23 months agoMissing NULL pointer check in poly-build tool
Campbell Barton [Fri, 27 Oct 2017 10:22:21 +0000 (21:22 +1100)]
Missing NULL pointer check in poly-build tool

23 months agoCMake: cleanup
Campbell Barton [Mon, 30 Oct 2017 01:58:44 +0000 (12:58 +1100)]
CMake: cleanup

23 months agoMerge branch 'master' into blender2.8
Germano [Sun, 29 Oct 2017 20:20:24 +0000 (18:20 -0200)]
Merge branch 'master' into blender2.8

# Conflicts:
# build_files/cmake/macros.cmake
# build_files/cmake/platform/platform_win32.cmake

23 months agoCMake: use only absolute linker paths for msvc.
Ray Molenkamp [Sun, 29 Oct 2017 19:16:22 +0000 (13:16 -0600)]
CMake: use only absolute linker paths for msvc.

cmake's link_directories will supply forward slashes for the search paths, the msvc linker has some issues with that, while it will search for the needed libs just fine, the incremental linker gets fed forward slashes for some libs, while the previous binary has backward slashes in it's metadata, the linker assumes obj files got added and performs a full link instead of an incremental link. This change brings down the link time with newer msvc versions for a trivial edit down from a few minutes to a few seconds.

23 months agoMerge branch 'master' into blender2.8
Sybren A. Stüvel [Sun, 29 Oct 2017 16:31:55 +0000 (17:31 +0100)]
Merge branch 'master' into blender2.8

23 months agoAlembic: added frame offset property
Sybren A. Stüvel [Sun, 29 Oct 2017 16:23:50 +0000 (17:23 +0100)]
Alembic: added frame offset property

The offset is subtracted, so that it's intuitive (dragging slider pushes
the animation further that way on the timeline).

23 months agoCycles: restore SOBOL_SKIP hack, for some cases where it helps still.
Brecht Van Lommel [Sun, 29 Oct 2017 14:26:09 +0000 (15:26 +0100)]
Cycles: restore SOBOL_SKIP hack, for some cases where it helps still.

23 months agoMerge branch 'master' into blender2.8
Sybren A. StÃ\83¼vel [Sun, 29 Oct 2017 14:27:44 +0000 (15:27 +0100)]
Merge branch 'master' into blender2.8

# Conflicts:
# source/blender/alembic/intern/abc_exporter.cc
# source/blender/alembic/intern/abc_exporter.h
# source/blender/alembic/intern/alembic_capi.cc
# tests/gtests/alembic/abc_export_test.cc

23 months agoAlembic: exporting MetaBalls as mesh
Sybren A. StÃ\83¼vel [Sat, 28 Oct 2017 17:18:27 +0000 (19:18 +0200)]
Alembic: exporting MetaBalls as mesh

- Only basis balls are exported, as they represent the resulting mesh.
  As a result the mesh is written to Alembic using the name of the basis
  ball.
- MetaBalls are converted to a mesh on every frame, then an
  AbcMeshWriter is used to write that mesh to Alembic.

23 months agoMerge branch 'master' into blender2.8
Sybren A. Stüvel [Sun, 29 Oct 2017 14:14:04 +0000 (15:14 +0100)]
Merge branch 'master' into blender2.8

23 months agoInclude file for DNA_DEPRECATED macro
Sybren A. Stüvel [Sun, 29 Oct 2017 10:26:45 +0000 (11:26 +0100)]
Include file for DNA_DEPRECATED macro

23 months agoAlembic import: fixed mesh corruption when changing topology
Sybren A. Stüvel [Sun, 29 Oct 2017 12:55:42 +0000 (13:55 +0100)]
Alembic import: fixed mesh corruption when changing topology

When the mesh changed topology but kept the vertex count the same, it would
result in a corrupt mesh. By checking the face & loop counts too, this has
become less likely.

I've checked IPolyMeshSchema::isConstant(), but it returns true even when
we see that the mesh changed topology.

23 months agoBMesh: use heap update for dissolve-decimate
Campbell Barton [Sun, 29 Oct 2017 13:36:52 +0000 (00:36 +1100)]
BMesh: use heap update for dissolve-decimate

23 months agoBLI_heap: add validation check, improve tests
Campbell Barton [Sun, 29 Oct 2017 07:23:33 +0000 (18:23 +1100)]
BLI_heap: add validation check, improve tests

Also minor readability changes, avoid running both heap_up/down
gives minor speedup too.

23 months agoCurve Fitting: heap reinsertion optimization
Campbell Barton [Sun, 29 Oct 2017 05:33:44 +0000 (16:33 +1100)]
Curve Fitting: heap reinsertion optimization

23 months agoCleanup: move docs out of header
Campbell Barton [Sun, 29 Oct 2017 05:07:07 +0000 (16:07 +1100)]
Cleanup: move docs out of header