2 years agoAdded support for the WEBM/VP9 video codec
Sybren A. Stüvel [Mon, 9 Apr 2018 13:27:11 +0000 (15:27 +0200)]
Added support for the WEBM/VP9 video codec

WEBM is the codec name, and VP9 is the encoder (the older encoder "VP8"
is less efficient than VP9).

WEBM/VP9 and h.264 both have options to control the file size versus
compression time (e.g. fast but big, or slow and small, for the same
output quality). Since WEBM/VP9 only has three choices, I've chosen to
map those to 3 of the 9 possible choices of h.264:


The VERYSLOW and ULTRAFAST options give very little extra benefit.

Reviewed by: @Severin

2 years agoRemove commented-out code
Sybren A. Stüvel [Mon, 9 Apr 2018 10:47:20 +0000 (12:47 +0200)]
Remove commented-out code

2 years agoBuild: fix make deps using system webp/sndio libs.
Brecht Van Lommel [Mon, 9 Apr 2018 13:06:33 +0000 (15:06 +0200)]
Build: fix make deps using system webp/sndio libs.

2 years agoCleanup: avoid recalculating global center
Campbell Barton [Mon, 9 Apr 2018 10:39:43 +0000 (12:39 +0200)]
Cleanup: avoid recalculating global center

2 years agoAlphabetically ordered audio and video codecs
Sybren A. Stüvel [Sun, 8 Apr 2018 15:52:30 +0000 (17:52 +0200)]
Alphabetically ordered audio and video codecs

2 years agoEncoding panel clarifications
Sybren A. Stüvel [Sun, 8 Apr 2018 11:44:53 +0000 (13:44 +0200)]
Encoding panel clarifications

The encoding panel mentions "None" in a few places, which is confusing.
- "Codec: None" now reads "No Video"
- "Audio Codec: None" now reads "No Audio"
- "Output Quality: None; ..." now reads "Constant Bitrate"

When selecting "No Video" the remaining video encoding options are
hidden, making it even more explicit that there will not be video in the
output file.

The label "Codec" now reads "Video Codec" for symmetry with "Audio

2 years agoFix edit-mesh select next
Campbell Barton [Sat, 7 Apr 2018 17:54:59 +0000 (19:54 +0200)]
Fix edit-mesh select next

Last change introduced error, return would stop looking over candidates.

D3137 by @nBurn

2 years agoBullet: Fix velocity calculation of new spring constraint
Sergej Reich [Sat, 7 Apr 2018 15:37:23 +0000 (17:37 +0200)]
Bullet: Fix velocity calculation of new spring constraint

This is a backport of bullet commit: 86ca7dc

2 years agoFix Collada: nullptr is a c++11 keyword. Changed to NULL
Gaia Clary [Fri, 6 Apr 2018 11:06:46 +0000 (13:06 +0200)]
Fix Collada: nullptr is a c++11 keyword. Changed to NULL

2 years agoFix Collada: Import of animations for objects with multiple materials
Gaia Clary [Fri, 6 Apr 2018 10:42:38 +0000 (12:42 +0200)]
Fix Collada: Import of animations for objects with multiple materials

When importing multiple materials for one object,
the imported material animation curves have all been
assigned to the first material in the object.

This fix also improves the console logging whenever the importer
finds a consistency problem with the imported animation data.

2 years agoCleanup: style, doxy headers
Campbell Barton [Fri, 6 Apr 2018 08:47:39 +0000 (10:47 +0200)]
Cleanup: style, doxy headers

2 years agoUI: Add accelerator keys to quit confirmation popup
Julian Eisel [Thu, 5 Apr 2018 17:12:28 +0000 (19:12 +0200)]
UI: Add accelerator keys to quit confirmation popup

2 years agoFix error where find-next missed None check
Campbell Barton [Thu, 5 Apr 2018 16:45:25 +0000 (18:45 +0200)]
Fix error where find-next missed None check

Thanks to @nBurn

2 years agoCleanup: use string macros to avoid duplicate args
Campbell Barton [Thu, 5 Apr 2018 16:39:23 +0000 (18:39 +0200)]
Cleanup: use string macros to avoid duplicate args

2 years agoBLI_string_utf8: macros that de-duplicate sizeof arg
Campbell Barton [Thu, 5 Apr 2018 14:56:21 +0000 (16:56 +0200)]
BLI_string_utf8: macros that de-duplicate sizeof arg

2 years agoDepsgraph: Pull indirect dependencies via pchan constraints
Sergey Sharybin [Thu, 5 Apr 2018 16:03:36 +0000 (18:03 +0200)]
Depsgraph: Pull indirect dependencies via pchan constraints

Was missing ID looper for pchan constraint.

2 years agoLoad metadata from video files and expose via RNA
Sybren A. Stüvel [Thu, 5 Apr 2018 14:34:36 +0000 (16:34 +0200)]
Load metadata from video files and expose via RNA

The MovieSequence and MovieClip classes now have a metadata() function
that exposes the `IDProperty *` holding the video metadata.

Part of:

Reviewed by: @campbellbarton

2 years agoWrite the scene render frame range to image/video files
Sybren A. Stüvel [Thu, 5 Apr 2018 14:33:32 +0000 (16:33 +0200)]
Write the scene render frame range to image/video files

This is useful to create a mapping from the frame range in the video to
frame index in the blend file.

Part of:

Reviewed by: @campbellbarton

2 years agoWrite StampData metadata to video files
Sybren A. Stüvel [Thu, 5 Apr 2018 14:31:59 +0000 (16:31 +0200)]
Write StampData metadata to video files

This is currently only supported by FFmpeg (so not frameserver, AVI RAW,
or AVI JPEG), and only seems to work when using Matroska or Ogg Theora

Only metadata that doesn't change from frame to frame is written to
video files. This distinction is visible in the UI by looking at the
stamp checkbox tooltips (they either mention "image" or "image/video").

Part of:

Reviewed by: @campbellbarton

2 years agoIMB_metadata improvements
Sybren A. Stüvel [Thu, 5 Apr 2018 14:27:15 +0000 (16:27 +0200)]
IMB_metadata improvements

- Metadata handling is now separate from `ImBuf *`, allowing it to be
  used with a generic `IDProperty *`.
- Merged `IMB_metadata_add_field()` and `IMB_metadata_change_field()`
  into a more robust `IMB_metadata_set_field()`. This new function
  doesn't return any status (it now always succeeds, and the previously
  existing return value was never checked anyway).
- Removed `IMB_metadata_del_field()` as it was never actually used
- Use `IMB_metadata_ensure()` instead of having
  `IMB_metadata_set_field()` create the containing `IDProperty` for
- Deduplicated function declarations, moved `intern/IMB_metadata.h` out
  of `intern/`. Note that this does mean that we have some extra
  `#include "IMB_metadata.h"` lines now, as the metadata functions are
  no longer declared in `IMB_imbuf.h`.
- Deduplicated function declarations, all metadata-related declarations
  are now in imbuf/IMB_metadata.h.

Part of:

Reviewed by: @campbellbarton

2 years agoBLI_string: macros that de-duplicate sizeof arg
Campbell Barton [Thu, 5 Apr 2018 14:44:48 +0000 (16:44 +0200)]
BLI_string: macros that de-duplicate sizeof arg

2 years agoUndo: split text undo steps out of the data-block
Campbell Barton [Thu, 5 Apr 2018 13:22:33 +0000 (15:22 +0200)]
Undo: split text undo steps out of the data-block

This moves undo storage into a separate struct which is passed
in from the undo system.

2 years agoUndo System: return undo step from undo push init
Campbell Barton [Thu, 5 Apr 2018 12:11:51 +0000 (14:11 +0200)]
Undo System: return undo step from undo push init

Also improve logging

2 years agoLogging: use -1 log level to log all levels
Campbell Barton [Thu, 5 Apr 2018 11:55:04 +0000 (13:55 +0200)]
Logging: use -1 log level to log all levels

2 years agoED_undo: use logging
Campbell Barton [Thu, 5 Apr 2018 11:41:52 +0000 (13:41 +0200)]
ED_undo: use logging

2 years agoFix crash w/ empty text undo operations
Campbell Barton [Thu, 5 Apr 2018 07:59:21 +0000 (09:59 +0200)]
Fix crash w/ empty text undo operations

2 years agoFix modifier freeing code re. ID refcounting.
Bastien Montagne [Wed, 4 Apr 2018 12:56:32 +0000 (14:56 +0200)]
Fix modifier freeing code re. ID refcounting.

Free code should not handle ID refcounting at all. This has to be done
at higher level, since in some case we want to free (temp) data that
actually did not refcount at all its IDs.

This change seems to be working OK, but as usual in that area, only
lots of testing in real-case situation will say whether there are some
hidden bugs or not.

2 years agoDepsgraph: Make sure textures used by modifiers are in the graph
Sergey Sharybin [Wed, 4 Apr 2018 10:55:38 +0000 (12:55 +0200)]
Depsgraph: Make sure textures used by modifiers are in the graph

2 years agoProper fix for T54337
Mai Lavelle [Wed, 4 Apr 2018 10:32:39 +0000 (06:32 -0400)]
Proper fix for T54337

Accidentally checked the wrong variable in fa01a1738bd1e3a6750ff.

2 years agoTweak ID->tag reset on file load (no visible change expected!).
Bastien Montagne [Wed, 4 Apr 2018 09:56:35 +0000 (11:56 +0200)]
Tweak ID->tag reset on file load (no visible change expected!).

Issue was, *some* IDs (like infamous nodetrees from materials etc.)
would not go through the 'main' read_libblock() func, so their tags were
never reset.

So now, we ensure direct_link_id() always clear the tags, and move
setting them in read_libblock() after the call to direct_link_id().

Needed for depsgraph, but general healthier fix actually.

2 years agoDepsgraph: Ensure root pchan is always found
Sergey Sharybin [Wed, 4 Apr 2018 09:49:01 +0000 (11:49 +0200)]
Depsgraph: Ensure root pchan is always found

2 years agoDepsgraph: Assert that pchan index is always valid
Sergey Sharybin [Wed, 4 Apr 2018 08:35:32 +0000 (10:35 +0200)]
Depsgraph: Assert that pchan index is always valid

2 years agoDepsgraph: Add missing expansion od custom bone shapes
Sergey Sharybin [Wed, 4 Apr 2018 08:15:45 +0000 (10:15 +0200)]
Depsgraph: Add missing expansion od custom bone shapes

This was fixed in 2.8 branch but not in master.

2 years agoDepsgraph: Only bind ID-data and indices to depsgraph callbacks
Sergey Sharybin [Tue, 3 Apr 2018 15:23:43 +0000 (17:23 +0200)]
Depsgraph: Only bind ID-data and indices to depsgraph callbacks

This is a part of copy-on-write sanitization, to avoid all the checks
which were attempting to keep sub-data pointers intact.

Point is: ID pointers never change for CoW datablocks, but nested
data pointers might change when updating existing copy.

Solution: Only bind ID data pointers and index of sub-data.
This will make CoW datablock 7update function was easier in 2.8.

In master we were only using pose channel pointers in callbacks,
this is exactly what this commit addresses. A linear lookup array
is created on pose evaluation init and is thrown away afterwards.

One thing we might consider doing is to keep indexed array of
poses, similar to chanhash.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Subscribers: dfelinto

Differential Revision:

2 years agoFix T54337: Cycles crash with simple subd object in debug build
Mai Lavelle [Wed, 4 Apr 2018 03:36:35 +0000 (23:36 -0400)]
Fix T54337: Cycles crash with simple subd object in debug build

2 years agoFix T54400: Some GCN 1 cards available to select for use with Cycles
Mai Lavelle [Wed, 4 Apr 2018 03:09:38 +0000 (23:09 -0400)]
Fix T54400: Some GCN 1 cards available to select for use with Cycles

Hainan was missing from the list of GCN 1 cards.

2 years agoBMesh: remove redundant loop in select-next-active
Campbell Barton [Tue, 3 Apr 2018 16:32:55 +0000 (18:32 +0200)]
BMesh: remove redundant loop in select-next-active

Thanks to @nBurn for spotting

2 years agoUndo: make id-map use binary search to keep sorted
Campbell Barton [Tue, 3 Apr 2018 16:07:51 +0000 (18:07 +0200)]
Undo: make id-map use binary search to keep sorted

2 years agoFix own error w/ undo ID lookup
Campbell Barton [Tue, 3 Apr 2018 15:58:37 +0000 (17:58 +0200)]
Fix own error w/ undo ID lookup

Was testing with small number of items, so this went unnoticed.

2 years agoCleanup: rename BMesh count_ex -> count_at_most
Campbell Barton [Tue, 3 Apr 2018 15:06:36 +0000 (17:06 +0200)]
Cleanup: rename BMesh count_ex -> count_at_most

2 years agoCleanup: rename list count_ex -> count_at_most
Campbell Barton [Tue, 3 Apr 2018 15:05:21 +0000 (17:05 +0200)]
Cleanup: rename list count_ex -> count_at_most

2 years agoUndo: use with_prev verisons of id-map lookups
Campbell Barton [Tue, 3 Apr 2018 15:03:13 +0000 (17:03 +0200)]
Undo: use with_prev verisons of id-map lookups

2 years agoUndo: use general id-map for image undo lookups.
Campbell Barton [Tue, 3 Apr 2018 14:47:25 +0000 (16:47 +0200)]
Undo: use general id-map for image undo lookups.

Was doing own name based lookups to keep compatible w/ global undo.

2 years agoUndo System: id-map avoid duplicate add/lookup
Campbell Barton [Tue, 3 Apr 2018 14:46:11 +0000 (16:46 +0200)]
Undo System: id-map avoid duplicate add/lookup

Add versions of add/lookup that check the previous item.

2 years agoFix mistake logging w/ undo
Campbell Barton [Tue, 3 Apr 2018 14:45:05 +0000 (16:45 +0200)]
Fix mistake logging w/ undo

2 years agoFix T54477: Broken utf8 strings in old .blend files
Bastien Montagne [Tue, 3 Apr 2018 13:50:49 +0000 (15:50 +0200)]
Fix T54477: Broken utf8 strings in old .blend files

Back in the days (2.4x and before), it was rather easy to get some
invalid utf-8 strings in Blender. This is totally breaking modern code,
so this commit adds a simple 'check & fix strings' operator, available
from the main File menu.

2 years agoFix (unreported) crash when accessing some
Bastien Montagne [Tue, 3 Apr 2018 12:30:36 +0000 (14:30 +0200)]
Fix (unreported) crash when accessing some

E.g. typing `[8].<tab>` in console would hard-crash
trying to dereference NULL pointer. Was a missing check in rna_Property_tags_itemf().

2 years agoUndo: remove particle undo push
Campbell Barton [Tue, 3 Apr 2018 06:57:01 +0000 (08:57 +0200)]
Undo: remove particle undo push

Was only called on copy particle system
which is already doing an undo push.

2 years agoCleanup: editor BKE_main includes
Campbell Barton [Tue, 3 Apr 2018 06:42:12 +0000 (08:42 +0200)]
Cleanup: editor BKE_main includes

2 years agoUndo: replace global access w/ ED_undo_stack_get
Campbell Barton [Tue, 3 Apr 2018 06:35:42 +0000 (08:35 +0200)]
Undo: replace global access w/ ED_undo_stack_get

While I'd like to avoid using this too much since the operator
system should handle.
It's less trouble than accessing it inline each time.

2 years agoPyAPI: Add PyC_Tuple_Pack_F64 utility
Campbell Barton [Mon, 2 Apr 2018 17:48:34 +0000 (19:48 +0200)]
PyAPI: Add PyC_Tuple_Pack_F64 utility

2 years agoBuild: add WITH_OPENVDB_3_ABI_COMPATIBLE option.
Brecht Van Lommel [Mon, 2 Apr 2018 16:55:10 +0000 (18:55 +0200)]

Better fix for T54457. It seems Debian compiles OpenVDB without ABI 3
compatibility, while Arch does enable it as is the default in the OpeVDB
CMake build system.

So now there's an option that the distribution can set depending on how
they compile their OpenVDB package.

2 years agoCleanup: remove redundant imbuf return values
Campbell Barton [Mon, 2 Apr 2018 15:30:35 +0000 (17:30 +0200)]
Cleanup: remove redundant imbuf return values

Some functions always returned the input argument
which was never used.

This made code read as if there might be a leak.

Now return a boolean (true the imbuf is modified).

2 years agoBuild: fixes for the Intel compiler versions 2016, 2017, 2018.
Milan Jaros [Mon, 2 Apr 2018 14:11:11 +0000 (16:11 +0200)]
Build: fixes for the Intel compiler versions 2016, 2017, 2018.

Differential Revision:

2 years agoCleanup: newlines left in messages
Campbell Barton [Mon, 2 Apr 2018 13:39:43 +0000 (15:39 +0200)]
Cleanup: newlines left in messages

2 years agoCleanup: move undo into it's own directory
Campbell Barton [Mon, 2 Apr 2018 13:02:08 +0000 (15:02 +0200)]
Cleanup: move undo into it's own directory

Split out undo API from ED_util.h into ED_undo.h

2 years agoCleanup: move BKE_global include under ifdef's
Campbell Barton [Mon, 2 Apr 2018 12:19:44 +0000 (14:19 +0200)]
Cleanup: move BKE_global include under ifdef's

2 years agoUndo: store active curve shape key in edit-mode
Campbell Barton [Mon, 2 Apr 2018 09:35:33 +0000 (11:35 +0200)]
Undo: store active curve shape key in edit-mode

2 years agoLogging: use for Python API
Campbell Barton [Mon, 2 Apr 2018 09:05:15 +0000 (11:05 +0200)]
Logging: use for Python API

Adds categories "bpy.context" & "bpy.rna"

2 years agoimbuf: revert some of the changes of rBb6ba3c682dd6615e760905572a5bcd69bb46371f since...
Ray Molenkamp [Sun, 1 Apr 2018 21:17:17 +0000 (15:17 -0600)]
imbuf: revert some of the changes of rBb6ba3c682dd6615e760905572a5bcd69bb46371f since they broke the build.

2 years agoFix compiling with Alembic
Sergej Reich [Sun, 1 Apr 2018 17:50:19 +0000 (19:50 +0200)]
Fix compiling with Alembic

Still need G.main

2 years agoCorrect accidental changes by C Logging addition
Campbell Barton [Sun, 1 Apr 2018 08:16:28 +0000 (10:16 +0200)]
Correct accidental changes by C Logging addition

Error in 891c1cfc9a3

2 years agoResolve unsigned comparison error w/ MSVC
Campbell Barton [Sun, 1 Apr 2018 05:41:23 +0000 (07:41 +0200)]
Resolve unsigned comparison error w/ MSVC

2 years agoCleanup: remove global header
Campbell Barton [Sun, 1 Apr 2018 05:24:45 +0000 (07:24 +0200)]
Cleanup: remove global header

2 years agoCleanup: warning
Campbell Barton [Sat, 31 Mar 2018 21:51:38 +0000 (23:51 +0200)]
Cleanup: warning

2 years agoRemoved by accident in last commit
Campbell Barton [Sat, 31 Mar 2018 21:47:05 +0000 (23:47 +0200)]
Removed by accident in last commit

2 years agoUndo: unified undo system w/ linear history
Campbell Barton [Mon, 19 Mar 2018 13:17:59 +0000 (14:17 +0100)]
Undo: unified undo system w/ linear history

- Use a single undo history for all operations.
- UndoType's are registered and poll the context to check if they
  should be used when performing an undo push.
- Mode switching is used to ensure the state is correct before
  undo data is restored.
- Some undo types accumulate changes (image & text editing)
  others store the state multiple times (with de-duplication).
  This is supported by checking UndoStack.mode `ACCUMULATE` / `STORE`.
- Each undo step stores ID datablocks they use with utilities to help
  manage restoring correct ID's.
  Needed since global undo is now mixed with other modes undo.
- Currently performs each undo step when going up/down history
  Previously this wasn't done, making history fail in some cases.
  This can be optimized to skip some combinations of undo steps.

grease-pencil is an exception which has not been updated
since it integrates undo into the draw-session.

See D3113

2 years agoBLI_sort_utils: add pointer sorting callback
Campbell Barton [Sat, 31 Mar 2018 17:25:27 +0000 (19:25 +0200)]
BLI_sort_utils: add pointer sorting callback

Also rename Pointer -> Ptr

2 years agoLogging: fix own error with formatting
Campbell Barton [Sat, 31 Mar 2018 13:43:47 +0000 (15:43 +0200)]
Logging: fix own error with formatting

2 years agoUse int instead of bool
Campbell Barton [Sat, 31 Mar 2018 13:33:15 +0000 (15:33 +0200)]
Use int instead of bool

Causes issues when including in some files.

2 years agoLogging: add argument --log-show-basename
Campbell Barton [Sat, 31 Mar 2018 13:27:06 +0000 (15:27 +0200)]
Logging: add argument --log-show-basename

Optionally strips leading path from filenames when logging.

2 years agoCleanup: --help text output
Campbell Barton [Sat, 31 Mar 2018 12:53:15 +0000 (14:53 +0200)]
Cleanup: --help text output

Some arguments missed their <value>.

2 years agoCleanup: blf internal struct naming
Campbell Barton [Sat, 31 Mar 2018 11:40:23 +0000 (13:40 +0200)]
Cleanup: blf internal struct naming

- use x/y/width/height/max as a suffix.
- replace 'num' prefix /w 'len' suffix.

2 years agoLogging: add ability to exclude categories.
Campbell Barton [Sat, 31 Mar 2018 10:52:47 +0000 (12:52 +0200)]
Logging: add ability to exclude categories.

2 years agoDocs: doxygen docs for clog
Campbell Barton [Sat, 31 Mar 2018 10:26:37 +0000 (12:26 +0200)]
Docs: doxygen docs for clog

2 years agoFix clog: own error allocating from static buffer
Campbell Barton [Sat, 31 Mar 2018 09:25:49 +0000 (11:25 +0200)]
Fix clog: own error allocating from static buffer

2 years agoFix logger build w/ MSVC
Campbell Barton [Sat, 31 Mar 2018 07:18:30 +0000 (09:18 +0200)]
Fix logger build w/ MSVC

2 years agoBuild deps: do sndfile patch also on linux platform
Arto Kitula [Fri, 30 Mar 2018 23:15:13 +0000 (02:15 +0300)]
Build deps: do sndfile patch also on linux platform

2 years agoC Logging: use instead of printf for messages
Campbell Barton [Thu, 29 Mar 2018 18:38:32 +0000 (20:38 +0200)]
C Logging: use instead of printf for messages

- See `--log` help message for usage.
- Supports enabling categories.
- Color severity.
- Optionally logs to a file.
- Currently use to replace printf calls in wm module.

See D3120 for details.

2 years agobuild_deps: Disable building docs for OIIO
Thomas Beck [Fri, 30 Mar 2018 12:58:22 +0000 (14:58 +0200)]
build_deps: Disable building docs for OIIO

Two issues are fixed with this commit:

1) When we build OIIO (on unixoid build environments) and no /src/doc/oiiotool was present we had no build target for it (which led to a build error). As we don't need docs for OIIO, we disable it now.

2) We specified a var that OIIO does not recognize (was removed upstream a long time ago): ILMBASE_VERSION.

2 years agoPyDoc: Merge manual docs for bge.texture
Aaron Carlisle [Thu, 29 Mar 2018 22:02:04 +0000 (18:02 -0400)]
PyDoc: Merge manual docs for bge.texture

Had a few things that this file did not while this file having things the other did not.
To fix, I merged both documents into the python api.

2 years agoUI: Edit mode move edge data tool into a menu
Aaron Carlisle [Thu, 29 Mar 2018 18:26:49 +0000 (14:26 -0400)]
UI: Edit mode move edge data tool into a menu

UI: Edit mode move edge data tool into a menu

See also:

- D1741
- T46853

Reviewers: Severin, meta-androcto, campbellbarton

Subscribers: mont29, #user_interface

Tags: #user_interface

Differential Revision:

2 years agoPyDocs: Adde link to Wikipedia page for mathutils.Euler class
Aaron Carlisle [Thu, 29 Mar 2018 18:25:13 +0000 (14:25 -0400)]
PyDocs: Adde link to Wikipedia page for mathutils.Euler class

This update adds a link to the Wikipedia article "Euler angles" to the description of the mathutils.Euler class.
I initially was not sure what a "Euler" represented in Blender API, but found the Wikipedia article helpful. I believe others will find the link helpful too if it appears in the class documentation.

This is similar to the Wikipedia links that appear in the mathutils.Matrix class, e.g:

Author: @justasb

Reviewers: campbellbarton, trumanblending, Blendify

Reviewed By: Blendify

Subscribers: Blendify

Tags: #bf_blender

Differential Revision:

2 years agoDepsgraph: initialize EvaluationContext even if nothing to update
Dalai Felinto [Thu, 29 Mar 2018 12:56:06 +0000 (09:56 -0300)]
Depsgraph: initialize EvaluationContext even if nothing to update

This is required to T54437 (sequencer preview uses last updated scene).
Although the fix itself needs to be in 2.8, for the 2.8 specific
initialization code.

2 years agoFix T54457: build error with OpenVDB versions newer than 3.
Brecht Van Lommel [Thu, 29 Mar 2018 05:20:16 +0000 (07:20 +0200)]
Fix T54457: build error with OpenVDB versions newer than 3.

Solution provided by Sven-Hendrik Haase.

2 years agoFix T54455: OpenCL build error after recent changes.
Brecht Van Lommel [Thu, 29 Mar 2018 05:11:22 +0000 (07:11 +0200)]
Fix T54455: OpenCL build error after recent changes.

2 years agoCycles: take into account diffuse roughness for roughness baking.
Matt Heimlich [Wed, 28 Mar 2018 21:18:46 +0000 (23:18 +0200)]
Cycles: take into account diffuse roughness for roughness baking.

Roughness baking previously defaulted to 1.0 for all diffuse materials,
now we also bake roughness values of Oren-Nayer and Principled Diffuse.

Differential Revision:

2 years agoCleanup: Tooltip spelling
Aaron Carlisle [Wed, 28 Mar 2018 17:09:00 +0000 (13:09 -0400)]
Cleanup: Tooltip spelling

2 years agobuild_deps: disable hdf5 lib support
Ray Molenkamp [Wed, 28 Mar 2018 16:48:52 +0000 (10:48 -0600)]
build_deps: disable hdf5 lib support

we do not ship with hdf5 support for alembic on any of the platforms.

2 years agoFix Collada: broken tangents with Camera Animation import for xfov
Gaia Clary [Wed, 28 Mar 2018 15:56:09 +0000 (17:56 +0200)]
Fix Collada: broken tangents with Camera Animation import for xfov

When importing an xfov curve, we must transformed the data to
Lens opening angles in degrees. While the curve value itself is
correctly transformed, the transformation of the tangents has been
forgotten. this is fixed now.

2 years agoCycles: don't require pthreads as dependency on Windows.
Jeff Witthuhn [Wed, 28 Mar 2018 09:31:51 +0000 (11:31 +0200)]
Cycles: don't require pthreads as dependency on Windows.

Use C++11 threads when available, and native critical section on Windows.
Later on we can remove pthread code when C+11 becomes required.

Differential Revision:

2 years agoCleanup: typo in function name
Campbell Barton [Wed, 28 Mar 2018 09:23:38 +0000 (11:23 +0200)]
Cleanup: typo in function name

2 years agoBLI_array: utility to check memory is zerod
Campbell Barton [Wed, 28 Mar 2018 06:59:26 +0000 (08:59 +0200)]
BLI_array: utility to check memory is zerod

2 years agoFix missing confirm quit dialog on macOS, after recent changes.
Brecht Van Lommel [Wed, 28 Mar 2018 08:50:06 +0000 (10:50 +0200)]
Fix missing confirm quit dialog on macOS, after recent changes.

2 years agoCycles: Fix bad register cast in sseb
Sergey Sharybin [Wed, 28 Mar 2018 08:34:31 +0000 (10:34 +0200)]
Cycles: Fix bad register cast in sseb

This is currently unused code, but causes gcc-8 to fail.

2 years agoFix T54435: Quit prompt fails w/ fractional scale
Campbell Barton [Tue, 27 Mar 2018 14:46:10 +0000 (16:46 +0200)]
Fix T54435: Quit prompt fails w/ fractional scale

2 years agoCleanup: global undo (minor changes to internals)
Campbell Barton [Tue, 27 Mar 2018 12:44:17 +0000 (14:44 +0200)]
Cleanup: global undo (minor changes to internals)

- Get memory usage from MemFile instead of MEM API
  avoids possible invalid when threads alloc memory.
- Use size_t instead of uint and uintptr_t to store size.
- Rename UndoElem.str -> filename
- Rename MemFileChunk.ident -> is_identical

2 years agoCleanup: move paint curve undo into own file
Campbell Barton [Tue, 27 Mar 2018 05:05:07 +0000 (07:05 +0200)]
Cleanup: move paint curve undo into own file

2 years agoFix T54420: too much volume render noise with multiple volume objects.
Brecht Van Lommel [Mon, 26 Mar 2018 10:13:36 +0000 (12:13 +0200)]
Fix T54420: too much volume render noise with multiple volume objects.

Random numbers for step offset were correlated, now use stratified samples
which reduces noise as well for some types of volumes, mainly procedural
ones where the step size is bigger than the volume features.

2 years agoGHOST: Solve compilation error of test programs
Sergey Sharybin [Mon, 26 Mar 2018 12:51:56 +0000 (14:51 +0200)]
GHOST: Solve compilation error of test programs