4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 19 Aug 2017 11:54:05 +0000 (21:54 +1000)]
Merge branch 'master' into blender2.8

4 years agoPyAPI: expose matrix parsing function
Campbell Barton [Sat, 19 Aug 2017 11:36:50 +0000 (21:36 +1000)]
PyAPI: expose matrix parsing function

4 years agoCorrect error in gawain wrapper for non-gcc compilers
Campbell Barton [Sat, 19 Aug 2017 10:18:23 +0000 (20:18 +1000)]
Correct error in gawain wrapper for non-gcc compilers

4 years agoAudaspace: cmake fixes, lowering to 3.0 minimum required.
Jörg Müller [Sat, 19 Aug 2017 09:45:20 +0000 (11:45 +0200)]
Audaspace: cmake fixes, lowering to 3.0 minimum required.

4 years agoCleanup: remove unneeded include
Campbell Barton [Sat, 19 Aug 2017 07:16:24 +0000 (17:16 +1000)]
Cleanup: remove unneeded include

Complicated using GPU_matrix from PyAPI.

4 years agoEevee: Bloom: Add Bloom Color
Clément Foucault [Sat, 19 Aug 2017 00:40:02 +0000 (02:40 +0200)]
Eevee: Bloom: Add Bloom Color

Moar artistic control yay!

4 years agoEevee: Bloom: Add Clamp setting
Clément Foucault [Sat, 19 Aug 2017 00:39:16 +0000 (02:39 +0200)]
Eevee: Bloom: Add Clamp setting

It's purpose is to limit the amount of light that spread across the screen.

Not entierly sure if it's very usefull, but it sure help to avoid to drown the screen in bloom.

4 years agoEevee: Fix problem with GPU_texture_generate_mipmap
Clément Foucault [Fri, 18 Aug 2017 20:31:06 +0000 (22:31 +0200)]
Eevee: Fix problem with GPU_texture_generate_mipmap

This function was called to recreate the lower mip level of the probe texture. But this is not it's usage and it introduced a stall.

This patch add cubemap mipmap level regeneration in eevee_effects.c

4 years agoFix T52443: Cycles OpenCL build error after recent mesh lights changes.
Brecht Van Lommel [Fri, 18 Aug 2017 21:50:54 +0000 (23:50 +0200)]
Fix T52443: Cycles OpenCL build error after recent mesh lights changes.

4 years agoCMake: Boost no longer needed for Audaspace references either
Jörg Müller [Fri, 18 Aug 2017 17:07:39 +0000 (19:07 +0200)]
CMake: Boost no longer needed for Audaspace references either

4 years agoCycles tests: add light type tests.
Brecht Van Lommel [Fri, 18 Aug 2017 15:09:12 +0000 (17:09 +0200)]
Cycles tests: add light type tests.

4 years agoCycles tests: make page less wide, use relative URLs for serving through http.
Brecht Van Lommel [Thu, 17 Aug 2017 22:37:45 +0000 (00:37 +0200)]
Cycles tests: make page less wide, use relative URLs for serving through http.

4 years agoEevee: Convert metallic nodes into princinpled nodes
Dalai Felinto [Fri, 18 Aug 2017 14:40:04 +0000 (16:40 +0200)]
Eevee: Convert metallic nodes into princinpled nodes

And wipe metallic out of the map.

4 years agoSwap Eevee material output with (Cycles) Material Output
Dalai Felinto [Thu, 17 Aug 2017 13:54:05 +0000 (15:54 +0200)]
Swap Eevee material output with (Cycles) Material Output

Since we started supporting the (Cycles) Material Output old files
stopped working. There is no reason to keep the original Eevee material
otuput anymore.

It includes doversion for old files.

4 years agoExpose Transparency BSDF for Eevee UI
Dalai Felinto [Fri, 18 Aug 2017 14:07:57 +0000 (16:07 +0200)]
Expose Transparency BSDF for Eevee UI

4 years agoUniform Buffer Objects: More complete padding solution
Dalai Felinto [Fri, 18 Aug 2017 14:42:58 +0000 (16:42 +0200)]
Uniform Buffer Objects: More complete padding solution

Move floats around when needed to accomodate vec3 arrays efficiently.

With this we use slightly less memory when possible. Basically vec3s are not
treated as vec4 unless we have no float to use for padding).

Reviewers: fclem, sergey

Differential Revision:

4 years agoEevee: Rework GTAO
Clément Foucault [Fri, 18 Aug 2017 13:06:51 +0000 (15:06 +0200)]
Eevee: Rework GTAO

This includes big improvement:
- The horizon search is decoupled from the BSDF evaluation. This means using multiple BSDF nodes have a much lower impact when enbaling AO.
- The horizon search is optimized by splitting the search into 4 corners searching similar directions to help which GPU cache coherence.
- The AO options are now uniforms and do not trigger shader recompilation (aka. freeze UI).
- Include a quality slider similar to the SSR one.
- Add a switch for disabling bounce light approximation.
- Fix problem with Bent Normals when occlusion get very dark.
- Add a denoise option to that takes the neighbors pixel values via glsl derivatives. This reduces noise but exhibit 2x2 blocky artifacts.

The downside : Separating the horizon search uses more memory (~3MB for each samples on HD viewport). We could lower the bit depth to 4bit per horizon but it produce noticeable banding (might be fixed with some dithering).

4 years agoEevee: Add some utils functions
Clément Foucault [Fri, 18 Aug 2017 12:24:29 +0000 (14:24 +0200)]
Eevee: Add some utils functions

4 years agoEevee: MinmaxZ: Avoid unecessary conversions.
Clément Foucault [Fri, 18 Aug 2017 12:23:25 +0000 (14:23 +0200)]
Eevee: MinmaxZ: Avoid unecessary conversions.

4 years agoGPU_texture : Add RG8 format.
Clément Foucault [Fri, 18 Aug 2017 12:22:40 +0000 (14:22 +0200)]
GPU_texture : Add RG8 format.

4 years agoEevee: Fix some problem with Glass & Diffuse BSDF with SSR
Clément Foucault [Tue, 15 Aug 2017 07:36:23 +0000 (09:36 +0200)]
Eevee: Fix some problem with Glass & Diffuse BSDF with SSR

Diffuse was not outputing the right normal. (this is not a problem with SSR actually)

Glass did not have proper ssr_id and was receiving environment lighting twice.
Also it did not have proper fresnel on lamps.

4 years agoFix ubo vec3 alignment issue
Dalai Felinto [Fri, 18 Aug 2017 10:00:30 +0000 (12:00 +0200)]
Fix ubo vec3 alignment issue

This fixes the Principled shader in Eevee, among other nodes.

Basically before we were treating all the vec3 as vec4 as far as memory
goes. We now only do it when required (aka, when the vec3 is not
followed by a float).

We can be even smarter about that and move the floats around to provide
padding for the vec3s. However this is for a separate patch.

That said, there seems to be some strong consensus in corners of the
internet against using vec3 at all [1]. Basically even if we get all the
padding correct, we may still suffer from poor driver implementations in
some consumer graphic cards.

It's not hard to move to vec4, but I think we can avoid doing it as much
as possible. By the time 2.8 is out hopefully most drivers will be
implementing things correctly.

[1] -

4 years agoPyAPI: Gawain checks for range
Campbell Barton [Fri, 18 Aug 2017 07:56:10 +0000 (17:56 +1000)]
PyAPI: Gawain checks for range

Raise error on vert-buffer data overflow.
Also exception on attempting to fill data thats already on the GPU.

4 years agoPyAPI: Fix memory leak w/ empty, allocated enums
Campbell Barton [Fri, 18 Aug 2017 08:29:27 +0000 (18:29 +1000)]
PyAPI: Fix memory leak w/ empty, allocated enums

4 years agoCMake: Boost no longer needed for Audaspace
Campbell Barton [Fri, 18 Aug 2017 08:16:39 +0000 (18:16 +1000)]
CMake: Boost no longer needed for Audaspace

4 years agoFix building w/o Audaspace
Campbell Barton [Fri, 18 Aug 2017 08:16:13 +0000 (18:16 +1000)]
Fix building w/o Audaspace

4 years agoAudaspace: Moving audaspace 1.3 into extern.
Jörg Müller [Fri, 18 Aug 2017 06:24:12 +0000 (08:24 +0200)]
Audaspace: Moving audaspace 1.3 into extern.

Deleting the old internal audaspace.

Major changes from there are:
- The whole library was refactored to use C++11.
- Many stability and performance improvements.
- Major Python API refactor:
 - Most requested: Play self generated sounds using numpy arrays.
 - For games: Sound list, random sounds and dynamic music.
 - Writing sounds to files.
 - Sequencing API.
 - Opening sound devices, eg. Jack.
- Ability to choose different OpenAL devices in the user settings.

4 years agoCleanup: use lowercase prefix for local API's
Campbell Barton [Thu, 17 Aug 2017 22:58:06 +0000 (08:58 +1000)]
Cleanup: use lowercase prefix for local API's

Also some minor corrections.

4 years agoPyAPI: Iniital gawain API for Python
Campbell Barton [Thu, 17 Aug 2017 10:32:42 +0000 (20:32 +1000)]
PyAPI: Iniital gawain API for Python

Wraps vertex-format, vertex-buffer and batch's (enough for drawing).

Doesn't yet expose index-buffers or shaders.

4 years agoRNA: don't register manipulator properties by name
Campbell Barton [Thu, 17 Aug 2017 21:50:31 +0000 (07:50 +1000)]
RNA: don't register manipulator properties by name

Matching behavior for operators.

4 years agoFix leak in Python BGE filter & image types
Campbell Barton [Thu, 17 Aug 2017 14:52:45 +0000 (00:52 +1000)]
Fix leak in Python BGE filter & image types

4 years agoCycles: Fix for a division by zero that could happen with solid angle triangle light...
Stefan Werner [Thu, 17 Aug 2017 13:05:48 +0000 (15:05 +0200)]
Cycles: Fix for a division by zero that could happen with solid angle triangle light sampling

4 years agoFix T52401: "Export Keying Set" operator generated incorrect ID's for shapekeys
Joshua Leung [Thu, 17 Aug 2017 13:03:28 +0000 (01:03 +1200)]
Fix T52401: "Export Keying Set" operator generated incorrect ID's for shapekeys

To be backported.

4 years agoImproved triangle sampling for mesh lights
Stefan Werner [Thu, 17 Aug 2017 10:44:09 +0000 (12:44 +0200)]
Improved triangle sampling for mesh lights

This implements Arvo's "Stratified sampling of spherical triangles". Similar to how we sample rectangular area lights, this is sampling triangles over their solid angle. It does significantly improve sampling close to the triangle, but doesn't do much for more distant triangles. So I added a simple heuristic to switch between the two methods. Unfortunately, I expect this to add render time in any case, even when it does not make any difference whatsoever. It'll take some benchmarking with various scenes and hardware to estimate how severe the impact is and if it is worth the change.

Reviewers: #cycles, brecht

Reviewed By: #cycles, brecht

Subscribers: Vega-core, brecht, SteffenD

Tags: #cycles

Differential Revision:

4 years agoGawain: name struct's
Campbell Barton [Thu, 17 Aug 2017 10:37:37 +0000 (20:37 +1000)]
Gawain: name struct's

Needed to reference without first including headers.

4 years agoFix blenderplayer
Dalai Felinto [Thu, 17 Aug 2017 09:56:24 +0000 (11:56 +0200)]
Fix blenderplayer

4 years agoCycles: Calculate correct remaining time when using a larger pixel size
Lukas Stockner [Wed, 16 Aug 2017 23:58:48 +0000 (01:58 +0200)]
Cycles: Calculate correct remaining time when using a larger pixel size

4 years agoMerge branch 'master' into blender2.8
mano-wii [Wed, 16 Aug 2017 22:10:18 +0000 (19:10 -0300)]
Merge branch 'master' into blender2.8

4 years agoRemove unnecessary #include "ED_transform.h"
mano-wii [Wed, 16 Aug 2017 22:08:52 +0000 (19:08 -0300)]
Remove unnecessary #include "ED_transform.h"

4 years agoTransform: remove unused function
mano-wii [Wed, 16 Aug 2017 21:55:55 +0000 (18:55 -0300)]
Transform: remove unused function

4 years agoDwM: use batch select for vertex paint mode
Campbell Barton [Wed, 16 Aug 2017 21:13:02 +0000 (07:13 +1000)]
DwM: use batch select for vertex paint mode

4 years agoDwM: Use Batch's for drawing selection
Campbell Barton [Wed, 16 Aug 2017 15:38:07 +0000 (01:38 +1000)]
DwM: Use Batch's for drawing selection

Use mesh batch cache for mesh selection.
Note that we could create the batches and free immediately
so they don't take up memory.

This resolves a problem where selection was limited
to immediate-mode buffer size.

4 years agoTransform: Move enum `SnapSelect` to `ED_transform_snap_object_context`
mano-wii [Wed, 16 Aug 2017 17:16:30 +0000 (14:16 -0300)]
Transform: Move enum `SnapSelect` to `ED_transform_snap_object_context`

4 years agoSupport MSVSC 2017 15.3.0 (compiler 19.11)
Antonioya [Wed, 16 Aug 2017 13:58:09 +0000 (15:58 +0200)]
Support MSVSC 2017 15.3.0 (compiler 19.11)

The compiler version has changed in the last VS2017 update to 1911 and the old 1910 version is not working anymore.

4 years agoFix zombie manipulators when deleting collection from outliner
Dalai Felinto [Wed, 16 Aug 2017 10:24:36 +0000 (12:24 +0200)]
Fix zombie manipulators when deleting collection from outliner

ND_LAYER and ND_LAYER_CONTENT both need to trigger manipulators updates.

4 years agoCleanup: rename GPU gawain functions
Campbell Barton [Wed, 16 Aug 2017 10:31:32 +0000 (20:31 +1000)]
Cleanup: rename GPU gawain functions

Were using Batch_ prefix still

4 years agoFix T52415: Copy/Pasting a mesh immediately crashes blender
Dalai Felinto [Wed, 16 Aug 2017 10:14:31 +0000 (12:14 +0200)]
Fix T52415: Copy/Pasting a mesh immediately crashes blender

Since the paste object is pasted in the active collection, and not on
its original one, we need to flush/calculate the new collection base
settings (visibility, selectability, ...).

DEG_id_tag_update() for the scene now. Though it may be better to tag
only the object specific IDs in the future.

4 years agoUpdate code comments from DAG_id_tag_update to DEG_id_tag_update
Dalai Felinto [Wed, 16 Aug 2017 09:52:27 +0000 (11:52 +0200)]
Update code comments from DAG_id_tag_update to DEG_id_tag_update

4 years agoGawain: remove GWN_batch_discard_all
Campbell Barton [Wed, 16 Aug 2017 09:50:27 +0000 (19:50 +1000)]
Gawain: remove GWN_batch_discard_all

Use ownership flags instead.

4 years agoFix T52414: Blender 2.79 crash on object duplication via menu.
Bastien Montagne [Wed, 16 Aug 2017 08:49:02 +0000 (10:49 +0200)]
Fix T52414: Blender 2.79 crash on object duplication via menu.

Caused by own recent changes in handling of verts/edges/etc. arrays storage
for raycasting (rBe324172d9ca6690e8).

Issue was actually even weirder - there is absolutely no reason at all to
release DM here, those finaldm are stored in Object or EditMesh structs and
handled by general update system, other code shall never try to release them!

4 years agoDepsgraph/Layers: Keep original visibility when doing full scene copy
Dalai Felinto [Wed, 16 Aug 2017 08:31:02 +0000 (10:31 +0200)]
Depsgraph/Layers: Keep original visibility when doing full scene copy

Originally we were not respecting the original visibility flags of the
collections. However this is required for Copy-on-write (CoW).

Remember to update the svn lib tests folder. I had to update some of the
json files there.

Also adding a new unittest for this particular issue:
Test render_layer_scene_copy_f

4 years agoDwM: use gawain ownership flags for mesh drawing
Campbell Barton [Wed, 16 Aug 2017 07:47:58 +0000 (17:47 +1000)]
DwM: use gawain ownership flags for mesh drawing

4 years agoGawain: add ownership flag to Gwn_Batch
Campbell Barton [Wed, 16 Aug 2017 07:42:05 +0000 (17:42 +1000)]
Gawain: add ownership flag to Gwn_Batch

Flag ownership for each index array & vbo's
so we don't have to manually keep track of this and use the right free call.

Instead this can be passed on creation.

See D2676

4 years agoPass EvaluationContext instead of bContext
Campbell Barton [Wed, 16 Aug 2017 02:45:11 +0000 (12:45 +1000)]
Pass EvaluationContext instead of bContext

2.8x branch added bContext arg in many places,
pass eval-context instead since its not simple to reason about what
what nested functions do when they can access and change almost anything.

Also use const to prevent unexpected modifications.

This fixes crash loading files with shadows,
since off-screen buffers use a NULL context for rendering.

4 years agoAttempt to fix GLSL errors on Blender startup.
Brecht Van Lommel [Tue, 15 Aug 2017 15:52:58 +0000 (17:52 +0200)]
Attempt to fix GLSL errors on Blender startup.

I couldn't reproduce either, but calling min() with different argument
data types and indexing vectors with an index not known at compile time
seem likely to cause problems.

Ref T52404, T52404.

4 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 15 Aug 2017 16:51:25 +0000 (18:51 +0200)]
Merge branch 'master' into blender2.8

4 years agomacOS build: simplify python install for new 10.9 libraries.
Brecht Van Lommel [Tue, 15 Aug 2017 13:47:48 +0000 (15:47 +0200)]
macOS build: simplify python install for new 10.9 libraries.

We stop using the .zip file and just have all files now in
lib/darwin/python/lib, along with numpy, numpy headers and requests.
This makes it consistent with Linux and simplifies code.

For old libraries the .zip stays, code for that gets removed when we
fully switch to new libraries.

4 years agoFix Cycles presets after recent removal of some settings.
Brecht Van Lommel [Mon, 14 Aug 2017 10:27:10 +0000 (12:27 +0200)]
Fix Cycles presets after recent removal of some settings.

4 years agoFix missing clear of Object->drawdata listbase in new copying code.
Bastien Montagne [Tue, 15 Aug 2017 15:13:09 +0000 (17:13 +0200)]
Fix missing clear of Object->drawdata listbase in new copying code.

4 years agoFix remaining issues with new Scene copying.
Bastien Montagne [Tue, 15 Aug 2017 15:09:31 +0000 (17:09 +0200)]
Fix remaining issues with new Scene copying.

Some idprops were not correctly merged from source into destination.

4 years agoBring new IDP_MergeGroup() on par with other copying logic.
Bastien Montagne [Tue, 15 Aug 2017 14:42:20 +0000 (16:42 +0200)]
Bring new IDP_MergeGroup() on par with other copying logic.

We now have to support more complex copying types, which are controlled
by flags, so all copying logic will need to take those at some point (at
least, all potentially dealing with IDs).

4 years agoFix building with OCIO after recent gawain files renamings.
Bastien Montagne [Tue, 15 Aug 2017 14:35:46 +0000 (16:35 +0200)]
Fix building with OCIO after recent gawain files renamings.

4 years agoFix scene_collection_copy always afecting IDs usercount.
Bastien Montagne [Tue, 15 Aug 2017 14:19:54 +0000 (16:19 +0200)]
Fix scene_collection_copy always afecting IDs usercount.

_copy_data() functions shall not do that at all anymore. Kept as option
for now even though that helper is only called from here...

Also moar varnames renaming to standard _src/_dst sufixes.

4 years agoCleanup: use 'gwn' prefix for gawain filenames
Campbell Barton [Tue, 15 Aug 2017 14:20:14 +0000 (00:20 +1000)]
Cleanup: use 'gwn' prefix for gawain filenames

Looking up names project wide or setting breakpoints wasn't so.
Names like common.h or element.h are also too generic.

4 years agoCorrect last commit
Campbell Barton [Tue, 15 Aug 2017 14:25:25 +0000 (00:25 +1000)]
Correct last commit

4 years agoCleanup: rename vars with proper _src/_dst postfixes in new Scene ID data copy func.
Bastien Montagne [Tue, 15 Aug 2017 14:05:07 +0000 (16:05 +0200)]
Cleanup: rename vars with proper _src/_dst postfixes in new Scene ID data copy func.

4 years agoCleanup/refactor: no new general arg-less macros enforcing var names please!
Bastien Montagne [Tue, 15 Aug 2017 13:59:38 +0000 (15:59 +0200)]
Cleanup/refactor: no new general arg-less macros enforcing var names please!

We do have an history of those pieces of evil in our code, would be nice
to get fully rid of it, but at the very least let's not add more of them
in new code. :)

4 years agoFix new Scene ID copying code.
Bastien Montagne [Tue, 15 Aug 2017 13:26:22 +0000 (15:26 +0200)]
Fix new Scene ID copying code.

Missed depsgraph_legacy new pointer to nullify when merged/adapted new
ID copying code to blender2.8.

4 years agoMerge branch 'master' into blender2.8
Sybren A. Stüvel [Tue, 15 Aug 2017 11:02:45 +0000 (13:02 +0200)]
Merge branch 'master' into blender2.8

# Conflicts:
# source/blender/makesrna/intern/rna_render.c

4 years agoManipulator: border editable only w/ selected camera
Campbell Barton [Tue, 15 Aug 2017 10:53:58 +0000 (20:53 +1000)]
Manipulator: border editable only w/ selected camera

While this isn't really needed, active border was annoying.

4 years agoAlembic import: report object name in face color index out of bounds error
Sybren A. Stüvel [Tue, 15 Aug 2017 10:43:17 +0000 (12:43 +0200)]
Alembic import: report object name in face color index out of bounds error

4 years agoAlembic import: fix crash when face color index is out of bounds.
Sybren A. Stüvel [Tue, 15 Aug 2017 10:34:40 +0000 (12:34 +0200)]
Alembic import: fix crash when face color index is out of bounds.

This can happen with Alembic files exported from Maya. I'm unsure as to the
root cause, but at least this fixes the crash itself.

Thanks to @looch for reporting this with a test file. The test file has to
remain confidential, though, so it's on my workstation only.

4 years ago[deps_build/macOS] Fix FFMPEG & VPX configure command
Arto Kitula [Tue, 15 Aug 2017 09:26:33 +0000 (12:26 +0300)]
[deps_build/macOS] Fix FFMPEG & VPX configure command

FFMPEG & VPX don't handle target with --build parameter, so we need to make sure use of plain configure command

Reviewed by: Brecht Van Lommel
Differential Revision:

4 years agoFix blenderplayer
Dalai Felinto [Tue, 15 Aug 2017 08:18:38 +0000 (10:18 +0200)]
Fix blenderplayer

4 years agoError in last commit
Campbell Barton [Tue, 15 Aug 2017 07:42:59 +0000 (17:42 +1000)]
Error in last commit

Get/set mismatch, reading from pchan, writing to bone.

4 years agoManipulator: Add b-bone spline editing
Campbell Barton [Tue, 15 Aug 2017 07:24:38 +0000 (17:24 +1000)]
Manipulator: Add b-bone spline editing

This needs some improvements since
matching handles *exactly* is a bit involved.

4 years agoManipulator: grab3d use own vars to store offset
Campbell Barton [Tue, 15 Aug 2017 07:13:32 +0000 (17:13 +1000)]
Manipulator: grab3d use own vars to store offset

Was complicating general use case, also support for transforming with matrix_space set.
Add matrix_space support for manipulator_window_project_2d too.

4 years agoManipulator: store initial-final matrix for reuse
Campbell Barton [Tue, 15 Aug 2017 03:27:31 +0000 (13:27 +1000)]
Manipulator: store initial-final matrix for reuse

Also take matrix_space into account when calculating final pixel size.

4 years agoCycles/BI: Add a pixel size option for speeding up viewport rendering
Lukas Stockner [Mon, 14 Aug 2017 22:11:52 +0000 (00:11 +0200)]
Cycles/BI: Add a pixel size option for speeding up viewport rendering

This patch adds "Pixel Size" to the performance options, which allows to render
in a smaller resolution, which is especially useful for displays with high DPI.

Reviewers: Severin, dingto, sergey, brecht

Reviewed By: brecht

Subscribers: Severin, venomgfx, eyecandy, brecht

Differential Revision:

4 years ago[build_deps/Windows] Add numpy headers to the python include folder on windows, requi...
Ray Molenkamp [Mon, 14 Aug 2017 21:21:36 +0000 (15:21 -0600)]
[build_deps/Windows] Add numpy headers to the python include folder on windows, required for D2716

4 years ago[depsbuilder] fix outdated python patch on windows.
Ray Molenkamp [Mon, 14 Aug 2017 21:11:44 +0000 (15:11 -0600)]
[depsbuilder] fix outdated python patch on windows.

4 years ago[depsbuilder] Fix broken osl flags on windows.
Ray Molenkamp [Mon, 14 Aug 2017 21:11:05 +0000 (15:11 -0600)]
[depsbuilder] Fix broken osl flags on windows.

4 years agoCycles: Fixed broken camera motion blur when motion was not set to center on frame
Stefan Werner [Sat, 12 Aug 2017 20:04:42 +0000 (22:04 +0200)]
Cycles: Fixed broken camera motion blur when motion was not set to center on frame

Reviewers: #cycles, sergey

Reviewed By: #cycles, sergey

Subscribers: sergey

Differential Revision:

4 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Mon, 14 Aug 2017 15:07:30 +0000 (17:07 +0200)]
Merge branch 'master' into blender2.8

4 years agoFix T52331: Motion blur shutter length not keyable
Sergey Sharybin [Mon, 14 Aug 2017 14:38:50 +0000 (16:38 +0200)]
Fix T52331: Motion blur shutter length not keyable

The only reason shutter time was marked as non-animatable is because Blender
Internal render does not support such animation. But this is something what
users are keeping asking for and now Blender Internal is on it's way out.

Enabled animation of this property, but noted in tooltip that Blender Internal
does not support animation of this property.

4 years agoFix T52391: Crash on duplicating material.
Bastien Montagne [Mon, 14 Aug 2017 13:40:54 +0000 (15:40 +0200)]
Fix T52391: Crash on duplicating material.

Bug in new ID copying code, thanks once again to stupid nodetrees, we
ended up wrongly remapping MA node->id pointers to NodeTree when copying
materials using node trees...

4 years agoCleanup: confusing naming in BKE_node_tree_copy_data().
Bastien Montagne [Mon, 14 Aug 2017 13:40:11 +0000 (15:40 +0200)]
Cleanup: confusing naming in BKE_node_tree_copy_data().

4 years agoNew ID Copying code: fix node_tree_copy_data still potentially increasing usercount...
Bastien Montagne [Mon, 14 Aug 2017 13:15:57 +0000 (15:15 +0200)]
New ID Copying code: fix node_tree_copy_data still potentially increasing usercount of its gpencil pointer.

_copy_data() functions of datablocks shall never handle that, it's done
by generic calling code in library.c.

4 years agoCycles: Guard memcpy to potentially re-allocating memory with lock
Sergey Sharybin [Mon, 14 Aug 2017 12:55:47 +0000 (14:55 +0200)]
Cycles: Guard memcpy to potentially re-allocating memory with lock

Basically, make re-alloc and memcpy from the same lock, otherwise one
thread might be re-allocating thread while another one is trying to
copy data there.

Reported by Mohamed Sakr in IRC, thanks!

4 years agoTracking: Fix missing checks in operator poll functions
Sergey Sharybin [Mon, 14 Aug 2017 09:46:00 +0000 (11:46 +0200)]
Tracking: Fix missing checks in operator poll functions

Reported by Vuk Gardašević (lijenstina) in IRC, thanks!

4 years agoFix T51850: Motion tracking - poor performance with keyframe matching on large video
Sergey Sharybin [Mon, 14 Aug 2017 09:41:12 +0000 (11:41 +0200)]
Fix T51850: Motion tracking - poor performance with keyframe matching on large video

Enabled cache for frame accessor and tweaked policy so we guarantee keyframed
images to be always in the cache. The logic might fail in some real corner case
(for example, when doing multiple tracks at once on a system where we can not
fit 2 clip frames in cache) but things are much better now for regular use.

4 years agoTracking: Make frame accessor cache safe for threading
Sergey Sharybin [Mon, 14 Aug 2017 09:28:58 +0000 (11:28 +0200)]
Tracking: Make frame accessor cache safe for threading

4 years agoTracking: Cleanup, newlines and comments
Sergey Sharybin [Mon, 14 Aug 2017 09:19:06 +0000 (11:19 +0200)]
Tracking: Cleanup, newlines and comments

4 years agoTracking: Cleanup, de-duplicate code
Sergey Sharybin [Mon, 14 Aug 2017 09:16:08 +0000 (11:16 +0200)]
Tracking: Cleanup, de-duplicate code

4 years agoTrackign: Add some basic logging about caching in frame accessor
Sergey Sharybin [Mon, 14 Aug 2017 09:10:45 +0000 (11:10 +0200)]
Trackign: Add some basic logging about caching in frame accessor

4 years agoTracking: Make frame access cache aware of region
Sergey Sharybin [Mon, 14 Aug 2017 09:06:22 +0000 (11:06 +0200)]
Tracking: Make frame access cache aware of region

Cache is still kept disabled, need to think of a policy for cache cleanup.

4 years agoTracking: Correct comparison in cache keys
Sergey Sharybin [Mon, 14 Aug 2017 08:37:36 +0000 (10:37 +0200)]
Tracking: Correct comparison in cache keys

This code wasn't uses, but the key comparison was totally wrong.

4 years agoTracking: Cleanup and some comments
Sergey Sharybin [Mon, 14 Aug 2017 08:23:29 +0000 (10:23 +0200)]
Tracking: Cleanup and some comments

4 years agoMove back master to BCon1 (aka alpha) status.
Bastien Montagne [Mon, 14 Aug 2017 08:44:19 +0000 (10:44 +0200)]
Move back master to BCon1 (aka alpha) status.

Forgot to do that the other week, master is no more 2.79 RC!

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 14 Aug 2017 02:13:55 +0000 (12:13 +1000)]
Merge branch 'master' into blender2.8