2 years agoFix: T50271: Bilateral/Directional blur's iterations is zero by default
brunoT [Thu, 27 Apr 2017 12:54:06 +0000 (08:54 -0400)]
Fix: T50271: Bilateral/Directional blur's iterations is zero by default

Differential Revision:

2 years agoRevert "Fix T51328: Add note to cmdline help that threads must be first"
Campbell Barton [Thu, 27 Apr 2017 11:48:01 +0000 (21:48 +1000)]
Revert "Fix T51328: Add note to cmdline help that threads must be first"

The help message already notes that argument order matters,
and this doesn't need to be the first.

2 years agoCleanup: spelling
Campbell Barton [Thu, 27 Apr 2017 11:40:18 +0000 (21:40 +1000)]
Cleanup: spelling

2 years agoCleanup: remove unused matrix arg
Campbell Barton [Thu, 27 Apr 2017 11:35:31 +0000 (21:35 +1000)]
Cleanup: remove unused matrix arg

2 years agoCleanup: Some style and code tweaks to Image Code after changes.
Thomas Dinges [Thu, 27 Apr 2017 09:11:08 +0000 (11:11 +0200)]
Cleanup: Some style and code tweaks to Image Code after changes.

Whitespace and order of switch/case etc. Let's try to stick to float4/byte4/half4/float/byte/half order as defined in "ImageDataType".

2 years agoUnlimited number of textures for Cycles
Stefan Werner [Thu, 27 Apr 2017 07:34:51 +0000 (09:34 +0200)]
Unlimited number of textures for Cycles

This patch allows for an unlimited number of textures in Cycles where the hardware allows. It replaces a number static arrays with dynamic arrays and changes the way the flat_slot indices are calculated. Eventually, I'd like to get to a point where there are only flat slots left and textures off all kinds are stored in a single array.

Note that the arrays in DeviceScene are changed from containing device_vector<T> objects to device_vector<T>* pointers. Ideally, I'd like to store objects, but dynamic resizing of a std:vector in pre-C++11 calls the copy constructor, which for a good reason is not implemented for device_vector. Once we require C++11 for Cycles builds, we can implement a move constructor for device_vector and store objects again.

The limits for CUDA Fermi hardware still apply.

Reviewers: tod_baudais, InsigMathK, dingto, #cycles

Reviewed By: dingto, #cycles

Subscribers: dingto, smellslikedonkey

Differential Revision:

2 years agoFix T51328: Add note to cmdline help that threads must be first
Aaron Carlisle [Thu, 27 Apr 2017 02:44:43 +0000 (22:44 -0400)]
Fix T51328: Add note to cmdline help that threads must be first

2 years agoCycles: Allow samples to finish in split kernel to avoid artifacts when canceling
Mai Lavelle [Wed, 26 Apr 2017 14:22:48 +0000 (10:22 -0400)]
Cycles: Allow samples to finish in split kernel to avoid artifacts when canceling

Previously canceling a render done by the split kernel could cause artifacts
such as very bright or dark tiles. This was caused by unfinished samples
being included in the output buffer. To avoid this we now wait till all the
currently rendering samples have finished, up to a limit of twice the
expected time for them to finish (currently this is no more than 20 seconds,
but usually its much less). If samples still haven't finished by then we
stop anyways in case there's an endless loop occurring.

2 years agoCycles: Change OpenCL split kernel to use single program by default
Mai Lavelle [Wed, 26 Apr 2017 14:05:10 +0000 (10:05 -0400)]
Cycles: Change OpenCL split kernel to use single program by default

Single program builds twice as fast as multi programs, so its better for
users to have it as the default.

2 years agoCycles: Enable Correlated Multi Jitter for OpenCL and split kernel
Mai Lavelle [Fri, 21 Apr 2017 03:14:34 +0000 (23:14 -0400)]
Cycles: Enable Correlated Multi Jitter for OpenCL and split kernel

Testing showed no issues so there's no reason to not have this.

2 years ago[msvc/make.bat] Provide a convenience rebuild.cmd in the build folder for easy rebuilds.
lazydodo [Wed, 26 Apr 2017 14:46:35 +0000 (08:46 -0600)]
[msvc/make.bat] Provide a convenience rebuild.cmd in the build folder for easy rebuilds.

2 years agoCycles: Fix over-allocation of triangles storage for triangle primitive hair
Sergey Sharybin [Wed, 26 Apr 2017 13:58:40 +0000 (15:58 +0200)]
Cycles: Fix over-allocation of triangles storage for triangle primitive hair

Was also causing some bad memory access caused by read data from non-initialized

Repoted by bzztploink in IRC, thanks!

2 years agoFix race condition invalidating object data's bounding box
Sergey Sharybin [Wed, 26 Apr 2017 13:40:32 +0000 (15:40 +0200)]
Fix race condition invalidating object data's bounding box

2 years agoEnsure task scheduler exists before any threading starts in Blender
Sergey Sharybin [Wed, 26 Apr 2017 13:23:46 +0000 (15:23 +0200)]
Ensure task scheduler exists before any threading starts in Blender

2 years agoAvoid race condition copying Scene for off-thread OpenGL image save
Sergey Sharybin [Wed, 26 Apr 2017 13:11:58 +0000 (15:11 +0200)]
Avoid race condition copying Scene for off-thread OpenGL image save

2 years agoUser preferences: Use checkbox for Cycles device selection
Sergey Sharybin [Wed, 26 Apr 2017 13:06:31 +0000 (15:06 +0200)]
User preferences: Use checkbox for Cycles device selection

It was totally unclear whether the device is enabled or disabled.
Lots of people got fully lost in the current interface.

While the solution is not fully ideal, it is at least solves
ambiguity in the interface.

2 years agoThreading: Remove thread lock which seems useless
Sergey Sharybin [Wed, 26 Apr 2017 12:50:21 +0000 (14:50 +0200)]
Threading: Remove thread lock which seems useless

Render data is never guarded by image drawe lock.

2 years agoMove depth select loop into its own function
Campbell Barton [Wed, 26 Apr 2017 14:01:23 +0000 (00:01 +1000)]
Move depth select loop into its own function

Useful for splitting out draw logic in 2.8x

2 years agoAlembic export: support simple child hairs (Fix T51144)
Sybren A. Stüvel [Wed, 26 Apr 2017 13:31:03 +0000 (15:31 +0200)]
Alembic export: support simple child hairs (Fix T51144)

Simple child hairs don't have a face index number assigned, so the
call to dm->getTessFaceData(dm, num, CD_MFACE) would cause a crash. To
work around this, UV and normal vectors are copied from the parent

I've also removed an unnecessary call to dm->getTessFaceArray(dm);

Reviewers: kevindietrich

Differential Revision:

2 years agoAlembic: fixed indentation
Sybren A. Stüvel [Wed, 26 Apr 2017 13:17:28 +0000 (15:17 +0200)]
Alembic: fixed indentation

2 years agoAlembic: fixed memory leaks
Sybren A. Stüvel [Wed, 26 Apr 2017 13:17:19 +0000 (15:17 +0200)]
Alembic: fixed memory leaks

2 years agoAlembic: fixed refcount issue when duplicating imported objects
Sybren A. Stüvel [Wed, 26 Apr 2017 13:12:51 +0000 (15:12 +0200)]
Alembic: fixed refcount issue when duplicating imported objects

Duplicating an imported object didn't increment the cache reader's refcount,
whereas removing the duplicate did decrement it. This caused problems.

2 years agoFix T51280: Alembic: Crash when removing cache modifier
Sybren A. Stüvel [Wed, 26 Apr 2017 11:01:19 +0000 (13:01 +0200)]
Fix T51280: Alembic: Crash when removing cache modifier

The calls to id_us_plus/min were unnecessary (and caused assertion
failures) as this is already taken care of by transformcache_id_looper().

2 years agoOSX buildbot: remove redundant option
Jens Verwiebe [Wed, 26 Apr 2017 12:28:36 +0000 (14:28 +0200)]
OSX buildbot: remove redundant option

2 years agoOSX buildbot: disable unsupported calls for now and use quicktime off default
Jens Verwiebe [Wed, 26 Apr 2017 12:02:53 +0000 (14:02 +0200)]
OSX buildbot: disable unsupported calls for now and use quicktime off default

2 years agoAvoid platform dependant PATH_MAX
Campbell Barton [Wed, 26 Apr 2017 11:06:00 +0000 (21:06 +1000)]
Avoid platform dependant PATH_MAX

2 years agoAlembic export: also export empties
Sybren A. Stüvel [Wed, 26 Apr 2017 10:26:21 +0000 (12:26 +0200)]
Alembic export: also export empties

Exporting an empty creates an Alembic XForm object. The empties can also
be animated.

2 years agoAlembic export: renamed func object_is_shape → object_type_is_exportable
Sybren A. Stüvel [Wed, 26 Apr 2017 10:25:45 +0000 (12:25 +0200)]
Alembic export: renamed func object_is_shape → object_type_is_exportable

The function doesn't return whether the object is a shape at all, since
it also returns true for camera objects (and soon also for empties). It
returns true when objects of this type can be exported to Alembic at all.
This is now reflected in the name.

2 years agoAlembic: shortened CacheFile.filepath to 1024 bytes again
Sybren A. Stüvel [Wed, 26 Apr 2017 08:40:54 +0000 (10:40 +0200)]
Alembic: shortened CacheFile.filepath to 1024 bytes again

As per discussion on 3128600a8ab2badd9ea39c80133f15f766794ec6

2 years agoAlembic: fixed C++98 compatibility
Sybren A. Stüvel [Wed, 26 Apr 2017 08:39:43 +0000 (10:39 +0200)]
Alembic: fixed C++98 compatibility

2 years agoAlembic import: added unit test for mesh deformation.
Sybren A. Stüvel [Tue, 25 Apr 2017 16:03:54 +0000 (18:03 +0200)]
Alembic import: added unit test for mesh deformation.

2 years agoCycles: Fix access undefined macro on non-MSVC compiler
Sergey Sharybin [Wed, 26 Apr 2017 08:00:31 +0000 (10:00 +0200)]
Cycles: Fix access undefined macro on non-MSVC compiler

Also rremove trailing whitespace.

2 years agoworkaround for T50176
lazydodo [Tue, 25 Apr 2017 20:17:41 +0000 (14:17 -0600)]
workaround for T50176

This works around a long outstanding issue T50176 with cycles on msvc2015/x86 . root cause is still unknown though,feels like a game of whack'a'mole

Reviewers: sergey, dingto

Subscribers: Blendify

Tags: #cycles

Differential Revision:

2 years agoCycles: use safe compiler flags for OpenCL.
Hristo Gueorguiev [Tue, 25 Apr 2017 18:10:51 +0000 (20:10 +0200)]
Cycles: use safe compiler flags for OpenCL.

Using -cl-fast-relaxed-math assumes no NaN/Inf values in any expression.
This causes problems on overflow, division by zero, square root of negative number.
Comparisons with NaN or infinite value are affected as well.

This patch causes <2% slowdown on benchmark scenes.

Fix T50985: Rendering volume scatter with GPU OpenCL comes to an halt after a few seconds

2 years agoWorkaround for AMD GPU OpenCL compiler.
Hristo Gueorguiev [Tue, 25 Apr 2017 18:08:14 +0000 (20:08 +0200)]
Workaround for AMD GPU OpenCL compiler.

2 years agoFix T51292: Alembic import, show notification when trying to load HDF5
Sybren A. Stüvel [Tue, 25 Apr 2017 12:30:01 +0000 (14:30 +0200)]
Fix T51292: Alembic import, show notification when trying to load HDF5

HDF5 Alembic files are not officially supported by Blender. With this
commit, the HDF5 format is detected even when Blender is compiled without
HDF5 support, and the user is given an explanatory error message (rather
than the generic "Could not open Alembic archive for reading".

2 years agoCycles: Fix strict compiler flags
Sergey Sharybin [Tue, 25 Apr 2017 12:11:45 +0000 (14:11 +0200)]
Cycles: Fix strict compiler flags

2 years agoFix OSX buildbot
Jens Verwiebe [Tue, 25 Apr 2017 12:05:03 +0000 (14:05 +0200)]
Fix OSX buildbot

2 years agoFix T51262: Blender CRASH with alembic file
Sybren A. Stüvel [Tue, 25 Apr 2017 10:05:55 +0000 (12:05 +0200)]
Fix T51262: Blender CRASH with alembic file

Also added a unit test for exporting & importing very long names.

2 years agoCycles: Cleanup, mainly line length in random module
Sergey Sharybin [Tue, 25 Apr 2017 09:42:36 +0000 (11:42 +0200)]
Cycles: Cleanup, mainly line length in random module

Was doing lots of investigation recently, with need to have lots of things
side by side.

2 years agoRevert "Alembic: Construct ISampleSelector once and pass along"
Sybren A. Stüvel [Tue, 25 Apr 2017 08:43:36 +0000 (10:43 +0200)]
Revert "Alembic: Construct ISampleSelector once and pass along"

This reverts commit 099816587a0e064fb6a52c82a737ae8814cf21df. It had some
unforseen side-effects that should be investigated first.

2 years agoCycles: Split vectorized math utilities to a dedicated files
Sergey Sharybin [Fri, 14 Apr 2017 12:05:23 +0000 (14:05 +0200)]
Cycles: Split vectorized math utilities to a dedicated files

This file was even a bigger mess than vectorized types header,
cleaning it up to make it easier to maintain this files and
extend further.

2 years agoCycles: Split vectorized types into separate files
Sergey Sharybin [Thu, 13 Apr 2017 17:34:45 +0000 (19:34 +0200)]
Cycles: Split vectorized types into separate files

The final goal to reach is to make vectorized types much easier to maintain
and the previous design had following issues:

- Having all types and methods implementation made the source file rather
  bloated and unfun to navigate in.

- It was not possible to quickly glance available API for the type you are
  interested in.

- Adding more vectorization types will bloat the file even more, making
  things even more tricky to follow.

2 years agoCycles: Cleanup, preprocessor indentation
Sergey Sharybin [Thu, 13 Apr 2017 16:59:46 +0000 (18:59 +0200)]
Cycles: Cleanup, preprocessor indentation

2 years agoFix T51284: Mesh not skinned
Sybren A. Stüvel [Tue, 25 Apr 2017 08:01:34 +0000 (10:01 +0200)]
Fix T51284: Mesh not skinned

2 years agoWM: don't search for app-template when its empty
Campbell Barton [Tue, 25 Apr 2017 07:14:46 +0000 (17:14 +1000)]
WM: don't search for app-template when its empty

Changing from a loaded app-template back to Default (none set)
would scan paths for a file with no name. Harmless but silly.

2 years agoCycles: Remove re-hashing done in BPT volume code
Sergey Sharybin [Mon, 24 Apr 2017 19:47:17 +0000 (21:47 +0200)]
Cycles: Remove re-hashing done in BPT volume code

Since 9d50175 this is no longer needed, at least not with the current
sampler we are using.

2 years agoCleanup: remove unnecessary texface checks
Campbell Barton [Mon, 24 Apr 2017 12:45:40 +0000 (22:45 +1000)]
Cleanup: remove unnecessary texface checks

2 years agoCleanup: style
Campbell Barton [Mon, 24 Apr 2017 11:58:28 +0000 (21:58 +1000)]
Cleanup: style

2 years agoCycles: Cleanup, space after keyword
Sergey Sharybin [Mon, 24 Apr 2017 09:21:35 +0000 (11:21 +0200)]
Cycles: Cleanup, space after keyword

2 years agoAdd C internal version of msgfmt (similar to makesrna/dna binaries).
Bastien Montagne [Mon, 24 Apr 2017 08:49:54 +0000 (10:49 +0200)]
Add C internal version of msgfmt (similar to makesrna/dna binaries).

Fixes performance issues of C++ one with Windows MSVC debug builds...

Merely a translation from code by @sergey, using BLI libs intead of C++'s stdlib.

Reviewers: sergey, campbellbarton, LazyDodo

Subscribers: sergey

Differential Revision:

2 years agoBLI_dynstr: add memarena-based version, and helper to clear without freeing.
Bastien Montagne [Mon, 24 Apr 2017 08:42:10 +0000 (10:42 +0200)]
BLI_dynstr: add memarena-based version, and helper to clear without freeing.

2 years agoUsual i18n/UI messages fixes and cleanup.
Bastien Montagne [Mon, 24 Apr 2017 07:33:22 +0000 (09:33 +0200)]
Usual i18n/UI messages fixes and cleanup.

2 years ago[msvc/make.bat] Add convenience option to turn off game engine+player
lazydodo [Sun, 23 Apr 2017 20:45:51 +0000 (14:45 -0600)]
[msvc/make.bat] Add convenience option to turn off game engine+player

2 years agoCMake: Fix CMake for non Apple systems
Thomas Beck [Sun, 23 Apr 2017 17:10:04 +0000 (19:10 +0200)]
CMake: Fix CMake for non Apple systems

Follow up to
apple_check_quicktime() macro is only defined for apple, so ignore it otherwise.

2 years agoCMake: move some Apple specific code into platform_apple_xcode.cmake.
Brecht Van Lommel [Sun, 23 Apr 2017 15:42:45 +0000 (17:42 +0200)]
CMake: move some Apple specific code into platform_apple_xcode.cmake.

2 years agoCMake: disable WITH_CODEC_QUICKTIME for macOS > 10.11 for configurations.
Romain Foyard [Sun, 23 Apr 2017 15:27:59 +0000 (17:27 +0200)]
CMake: disable WITH_CODEC_QUICKTIME for macOS > 10.11 for configurations.

QtKit was removed in macOS Sierra, this patch disables WITH_CODEC_QUICKTIME
in Sierra and greater versions of macOS.

Reviewed By: brecht

Differential Revision:

2 years agoCMake: fix wrong alembic test name on Windows.
Brecht Van Lommel [Sun, 23 Apr 2017 15:27:12 +0000 (17:27 +0200)]
CMake: fix wrong alembic test name on Windows.

2 years ago[msvc/make.bat] Allow override of the build folder name
lazydodo [Sun, 23 Apr 2017 16:10:57 +0000 (10:10 -0600)]
[msvc/make.bat] Allow override of the build folder name

2 years agoOSX: satisfy macro to also apply alembic tests
Jens Verwiebe [Sat, 22 Apr 2017 17:03:59 +0000 (19:03 +0200)]
OSX: satisfy macro to also apply alembic tests

2 years agoDisable breaking alembic test for osx
Jens Verwiebe [Sat, 22 Apr 2017 16:39:11 +0000 (18:39 +0200)]
Disable breaking alembic test for osx

2 years ago[cmake] Fix Alembic build errors with msvc
lazydodo [Fri, 21 Apr 2017 18:18:19 +0000 (12:18 -0600)]
[cmake] Fix Alembic build errors with msvc

2 years agoAlembic unit tests: Removed trailing spaces
Sybren A. Stüvel [Fri, 21 Apr 2017 14:20:35 +0000 (16:20 +0200)]
Alembic unit tests: Removed trailing spaces

2 years agoAlembic unit tests: don't depend on ALEMBIC_ROOT_DIR being defined by user
Sybren A. Stüvel [Fri, 21 Apr 2017 14:20:01 +0000 (16:20 +0200)]
Alembic unit tests: don't depend on ALEMBIC_ROOT_DIR being defined by user

By mistake, the code relied on ALEMBIC_ROOT_DIR being defined by the user
running the tests. Now CMake macros are used to correctly find the Alembic
root directory.

2 years agoMatrix.decompose(): changed terminology, "location" → "translation"
Sybren A. Stüvel [Fri, 21 Apr 2017 13:48:53 +0000 (15:48 +0200)]
Matrix.decompose(): changed terminology, "location" → "translation"

Matrix.decompose() should either return "location, orientation, size" or
"translation, rotation, scale". Since there are constructors for the former,
I've replaced "location" in the documentation with "translation".

The code is still the same, I just changed the documentation.

2 years agoCycles: Solve speed regression of classroom scene after principled commit
Sergey Sharybin [Fri, 21 Apr 2017 10:56:54 +0000 (12:56 +0200)]
Cycles: Solve speed regression of classroom scene after principled commit

This way we can skip it from compiling into OpenCL kernels by making
this shader compile-time feature.

2 years agoCycles: Make it a generic base class for all types of closure nodes
Sergey Sharybin [Fri, 21 Apr 2017 10:50:04 +0000 (12:50 +0200)]
Cycles: Make it a generic base class for all types of closure nodes

The idea is to have osme geenric BSDF node which is subclassed by
"regular" BSDF nodes and uber shaders.

This way we can access special type and closure type for making
decisions somewhere else.

2 years agoCMake: Add option to build against system-wide Glog
Sergey Sharybin [Fri, 21 Apr 2017 12:26:25 +0000 (14:26 +0200)]
CMake: Add option to build against system-wide Glog

Similar to previous commit for Gflags.

2 years agoAlembic import: changing cache modifier path no longer discards object paths
Sybren A. Stüvel [Fri, 21 Apr 2017 12:11:13 +0000 (14:11 +0200)]
Alembic import: changing cache modifier path no longer discards object paths

This allows, for example, the path of an Alembic file to be changed from
absolute to relative, without having to reconstruct all object paths.

2 years agoAlembic: properly initialising cachefile object paths list.
Sybren A. Stüvel [Fri, 21 Apr 2017 10:47:14 +0000 (12:47 +0200)]
Alembic: properly initialising cachefile object paths list.

2 years agoAlembic: fixed memory leak
Sybren A. Stüvel [Fri, 21 Apr 2017 10:28:49 +0000 (12:28 +0200)]
Alembic: fixed memory leak

2 years agoAlembic: Construct ISampleSelector once and pass along
Sybren A. Stüvel [Fri, 21 Apr 2017 09:04:47 +0000 (11:04 +0200)]
Alembic: Construct ISampleSelector once and pass along

No longer passing time as float and constructing ISampleSelectors all
over the place. Instead, just construct an ISampleSelector once and
pass it along.

2 years agoCycles: Cleanup, indentation in preprocessor
Sergey Sharybin [Fri, 21 Apr 2017 10:26:04 +0000 (12:26 +0200)]
Cycles: Cleanup, indentation in preprocessor

2 years agoCycles: Cleanup, indentation inside preprocessor
Sergey Sharybin [Fri, 21 Apr 2017 10:01:04 +0000 (12:01 +0200)]
Cycles: Cleanup, indentation inside preprocessor

2 years agoCycles: Fix regression in SSS rendering after principled commit
Sergey Sharybin [Fri, 21 Apr 2017 09:50:35 +0000 (11:50 +0200)]
Cycles: Fix regression in SSS rendering after principled commit

2 years agoCycles: Cleanup, indentation of comment
Sergey Sharybin [Fri, 21 Apr 2017 09:33:44 +0000 (11:33 +0200)]
Cycles: Cleanup, indentation of comment

Was broken after principled commit.

2 years agoCMake: Add option to link against system-wide Gflags library
Sergey Sharybin [Fri, 21 Apr 2017 08:58:01 +0000 (10:58 +0200)]
CMake: Add option to link against system-wide Gflags library

It is disabled by default, so should not affect existing configurations.

Main benefits of this goes as:

- Linux distros can use that to avoid libraries duplication and link
  blender package against gflags package from the system.

- It it easier to test whether Blender works with updated version of
  Gflags prior to re-bundling the library.

2 years agoDocs: diagram for reflect_v3_v3v3
Campbell Barton [Fri, 21 Apr 2017 07:26:27 +0000 (17:26 +1000)]
Docs: diagram for reflect_v3_v3v3

2 years agoStore edit-font select-box length
Campbell Barton [Fri, 21 Apr 2017 07:08:28 +0000 (17:08 +1000)]
Store edit-font select-box length

A little awkward to calculate when drawing.

2 years agoD2607: Switch eye dropper to use linear color space internally
Stefan Werner [Thu, 20 Apr 2017 20:41:26 +0000 (22:41 +0200)]
D2607: Switch eye dropper to use linear color space internally

This switches the internal color representation of the eye dropper from display space to linear. Any time a linear color is requested and the color is picked from a linear object, the result is now precise to the bit as the color gets patched through directly. Color space conversion now only happens when a color is picked from non-linear display space objects or when the color is requested to be returned in non-linear space.

In addition, this patch changes the DifferenceMatte node to interpret a tolerance of 0.0 to accept colors that are identical bit by bit, as apposed to simply refusing all colors.

2 years agoD2608: Allow HDR picking from Compositor background
Stefan Werner [Thu, 20 Apr 2017 20:32:00 +0000 (22:32 +0200)]
D2608: Allow HDR picking from Compositor background
Replaced some STREQ(snode->tree_idname, ...) calls with ED_node_is_*() calls for improved readability, fixed one case where the STREQ was used the wrong way

2 years agoFix Surface Deform not unbinding if target is removed
Luca Rood [Thu, 20 Apr 2017 15:48:37 +0000 (17:48 +0200)]
Fix Surface Deform not unbinding if target is removed

2 years agoAlembic export: don't show warning for every exported frame
Sybren A. Stüvel [Thu, 20 Apr 2017 13:24:48 +0000 (15:24 +0200)]
Alembic export: don't show warning for every exported frame

The warning about not having a UV map is now only shown once per hair

2 years agoFix T45350: Cache not being recomputed with "Bake All Dynamics"
Luca Rood [Thu, 20 Apr 2017 12:59:02 +0000 (14:59 +0200)]
Fix T45350: Cache not being recomputed with "Bake All Dynamics"

2 years agoAlembic import: select imported objects
Sybren A. Stüvel [Thu, 20 Apr 2017 10:01:31 +0000 (12:01 +0200)]
Alembic import: select imported objects

When the Alembic import is finished, all imported objects are selected.

2 years agoFix T51198: Crash with new Datablock ID Properties
Alexander Romanov [Thu, 20 Apr 2017 08:39:20 +0000 (11:39 +0300)]
Fix T51198: Crash with new Datablock ID Properties

2 years agoUse reflect for calculating second normal
Campbell Barton [Thu, 20 Apr 2017 08:08:05 +0000 (18:08 +1000)]
Use reflect for calculating second normal

2 years agoDocs: move note (was mixed up)
Campbell Barton [Thu, 20 Apr 2017 07:11:12 +0000 (17:11 +1000)]
Docs: move note (was mixed up)

2 years agoFix T51248: user preferences window size not adapted to DPI.
Brecht Van Lommel [Wed, 19 Apr 2017 22:17:42 +0000 (00:17 +0200)]
Fix T51248: user preferences window size not adapted to DPI.

2 years agoFix T51243: Delete Globally won't work with Datablock ID Properties.
Bastien Montagne [Wed, 19 Apr 2017 20:07:57 +0000 (22:07 +0200)]
Fix T51243: Delete Globally won't work with Datablock ID Properties.

That's a quick hack to address that specific case, new pointer IDProp
actually enlights a generic problem - datablocks using themselves - which
is not really handled by current code, would consider this not-so-urgent
TODO though.

2 years agoFix (unreported) missing handling of GPencil Layer's parent Object pointer in BKE_lib...
Bastien Montagne [Wed, 19 Apr 2017 19:47:01 +0000 (21:47 +0200)]
Fix (unreported) missing handling of GPencil Layer's parent Object pointer in BKE_library_query.

Grrrr... still finding missing pointers here... :/

2 years agoAlembic import: added simple unit test for importer.
Sybren A. Stüvel [Wed, 19 Apr 2017 15:27:40 +0000 (17:27 +0200)]
Alembic import: added simple unit test for importer.

It only tests the presence of the objects and their parent/child pointers.
Matrix and animated properties should be done in a later test.

2 years agoUI: Reorganize the UV/Image "Game Properties" Pannel
Aaron Carlisle [Wed, 19 Apr 2017 15:09:07 +0000 (11:09 -0400)]
UI: Reorganize the UV/Image "Game Properties" Pannel

This uses the same amount of room while giving it a more clean look and adds a label for the mapping options so users can tell the purpose.

2 years agoAlembic import/export: added as_background_job option
Sybren A. Stüvel [Wed, 19 Apr 2017 12:40:57 +0000 (14:40 +0200)]
Alembic import/export: added as_background_job option

The ABC_export and ABC_import functions both take a as_background_job
parameter, and return a boolean.

When as_background_job=true, returns false immediately after scheduling
a background job. This was the old behaviour of this function, which makes
it very hard for scripts to do something with the data after the import
or export completes.

When as_background_job=false, performs the export synchronously, and
returns true when the export was ok, and false if there were any errors.
This allows further processing.

The Scene.alembic_export() function is deprecated, and will be removed from
Blender 2.8 in favour of calling the bpy.ops.wm.alembic_export() operator.
As such, it has been hard-coded to the old background job behaviour.

2 years agoAlembic export: made hair/particle export optional.
Sybren A. Stüvel [Wed, 19 Apr 2017 11:03:52 +0000 (13:03 +0200)]
Alembic export: made hair/particle export optional.

The export is still slower than needed, as the particle systems themselves
aren't disabled during the export. It's only the writing to the Alembic
file that's skipped.

2 years agoAlembic export: converted some export params to actual bools
Sybren A. Stüvel [Wed, 19 Apr 2017 09:43:35 +0000 (11:43 +0200)]
Alembic export: converted some export params to actual bools

The variables were interpreted as booleans, and had a 1-bit width. I don't
see a reason to not just use the bool type instead.

2 years agoFix 'API defined' ID properties still having 'remove' button in UI.
Bastien Montagne [Wed, 19 Apr 2017 07:51:36 +0000 (09:51 +0200)]
Fix 'API defined' ID properties still having 'remove' button in UI.

We could not edit them, but still could delete them, which makes no
sense, API-defined properties are similar to class members, removing
them from single instances is pure garbage. And it was broken anyway.

Found by @a.romanov while checking on T51198, thanks.

2 years agoAlembic import: little fix for D2634
Sybren A. Stüvel [Tue, 18 Apr 2017 15:00:21 +0000 (17:00 +0200)]
Alembic import: little fix for D2634

Now it doesn't crash any more when the Alembic curves object doesn't
have any user properties.

2 years agoAlembic import/export: write curve resolution to user property
Sybren A. Stüvel [Tue, 18 Apr 2017 14:36:33 +0000 (16:36 +0200)]
Alembic import/export: write curve resolution to user property

Curve resolution isn't natively supported by Alembic, hence it is stored
in a user property "blender:resolution". I've looked at a Maya curves
example file, but that also didn't contain any information about curve

Differential Revision:

Reviewers: kevindietrich

2 years agoCleanup: missing headers
Campbell Barton [Tue, 18 Apr 2017 14:25:31 +0000 (00:25 +1000)]
Cleanup: missing headers