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

4 years agoWM: load UI for new file, even when pref disabled
Campbell Barton [Sat, 12 Aug 2017 15:05:10 +0000 (01:05 +1000)]
WM: load UI for new file, even when pref disabled

Loading startup file always loads the UI now.

4 years agoGPU_framebuffer: Fix performance issue on intel.
Clément Foucault [Sat, 12 Aug 2017 14:16:28 +0000 (16:16 +0200)]
GPU_framebuffer: Fix performance issue on intel.

This should fixes the error message that a stall occured because of busy mipmap.

This happened on the minmax buffer generation and introduced a random 0.2ms latency.
I'm not sure of what was happening though.

4 years agoEevee: Fix and opimize MinMaxZ generation.
Clément Foucault [Sat, 12 Aug 2017 14:13:08 +0000 (16:13 +0200)]
Eevee: Fix and opimize MinMaxZ generation.

4 years agoFix T52368: OSL trace() crash after recent changes.
Brecht Van Lommel [Sat, 12 Aug 2017 12:32:52 +0000 (14:32 +0200)]
Fix T52368: OSL trace() crash after recent changes.

4 years agoCode cleanup: fix various compiler warnings.
Brecht Van Lommel [Sat, 12 Aug 2017 12:07:37 +0000 (14:07 +0200)]
Code cleanup: fix various compiler warnings.

4 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sat, 12 Aug 2017 12:01:17 +0000 (14:01 +0200)]
Merge branch 'master' into blender2.8

4 years agoFix T52298: hidden lamps still compute shadow buffers in viewport.
Brecht Van Lommel [Sat, 12 Aug 2017 11:22:26 +0000 (13:22 +0200)]
Fix T52298: hidden lamps still compute shadow buffers in viewport.

4 years agoCode cleanup: fix warning and improve terminology.
Brecht Van Lommel [Fri, 11 Aug 2017 12:21:34 +0000 (14:21 +0200)]
Code cleanup: fix warning and improve terminology.

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 12 Aug 2017 09:08:49 +0000 (19:08 +1000)]
Merge branch 'master' into blender2.8

4 years agoFix T52329: Boolean with aligned shapes failed
Campbell Barton [Sat, 12 Aug 2017 08:14:50 +0000 (18:14 +1000)]
Fix T52329: Boolean with aligned shapes failed

Creating ngons with multiple axis aligned shapes in the middle of a
single face would fail in some cases.

This exposed multiple problems in BM_face_split_edgenet_connect_islands

- Islands needed to be sorted on Y axis when X was aligned.
- Checking edge intersections needed increased endpoint bias.
- BVH epsilon needed to be increased.

4 years agoMath Lib: add isect_seg_seg_v2_point_ex
Campbell Barton [Sat, 12 Aug 2017 08:12:29 +0000 (18:12 +1000)]
Math Lib: add isect_seg_seg_v2_point_ex

This exposes end-point bias argument, needed in rare cases.

4 years agoFix width estimation for buttons with short labels in pie menus
Aleksandr Zinovev [Sat, 12 Aug 2017 08:00:19 +0000 (11:00 +0300)]
Fix width estimation for buttons with short labels in pie menus

Differential Revision:

To be backported to 2.79 branch

4 years agoCleanup: quiet warnings
Campbell Barton [Sat, 12 Aug 2017 04:07:26 +0000 (14:07 +1000)]
Cleanup: quiet warnings

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

4 years agoCleanup: whitespace
Campbell Barton [Sat, 12 Aug 2017 03:37:34 +0000 (13:37 +1000)]
Cleanup: whitespace

4 years agoiFix T52050: Empty VSE preview for scene strips with OpenGL preview + Rendered settings.
Bastien Montagne [Fri, 11 Aug 2017 16:02:54 +0000 (18:02 +0200)]
iFix T52050: Empty VSE preview for scene strips with OpenGL preview + Rendered settings.

'OpenGL Preview' checkbox was redundant now, just use seq_prev_type
value only.

Might be OK for 2.79, but should be double-checked first...

4 years agoFix T52149: LoopTriArray computation was not correctly protected against concurrency.
Bastien Montagne [Fri, 11 Aug 2017 14:51:19 +0000 (16:51 +0200)]
Fix T52149: LoopTriArray computation was not correctly protected against concurrency.

Note: this commit seems to work as expected (also with transform
snapping etc.). However, it is rather unsafe - not enough for 2.79 at
least, unless we get much more testing on it. It also depends on three
previous ones.

Note that using a global lock here is far from ideal, we should rather
have a lock per DM, but that will do for now, whole DM thing is doomed
to oblivion anyway in 2.8.

Also, we may need a `DM_DIRTY_LOOPTRIS` dirty flag at some point. Looks
like we can survive without it for now though... Probably because cached
looptris are never copied accross DM's?

4 years agoCleanup: remove useless `DM_ensure_looptri()`.
Bastien Montagne [Fri, 11 Aug 2017 14:18:01 +0000 (16:18 +0200)]
Cleanup: remove useless `DM_ensure_looptri()`.

That one was doing exactly same thing as `dm->getLoopTriArray()`, no
point in having twice the same code here...

4 years agoFix transform snap code using 'allocated' flags to get verts/edges/etc. arrays again...
Bastien Montagne [Fri, 11 Aug 2017 13:53:38 +0000 (15:53 +0200)]
Fix transform snap code using 'allocated' flags to get verts/edges/etc. arrays again from DM.

This was... horribly wrong, CDDM will often *not* need to allocate
anything to return arrays of mesh items! Just check whether array
pointer is NULL.

Also, remove `DM_get_looptri_array`, that one is useless currently,
`dm->getLoopTriArray` will always return cached array (computing it if

4 years agoCleanup: deduplicate DM's getLoopTriArray() callback.
Bastien Montagne [Fri, 11 Aug 2017 13:41:53 +0000 (15:41 +0200)]
Cleanup: deduplicate DM's getLoopTriArray() callback.

All three functions were doing exactly the same thing, simpler to only
have one in that case!

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 11 Aug 2017 14:23:49 +0000 (00:23 +1000)]
Merge branch 'master' into blender2.8

4 years agoFix T52346: Alt-I (Delete Keyframes) on a NlaStrip's Extrapolate property would crash
Joshua Leung [Fri, 11 Aug 2017 13:52:51 +0000 (01:52 +1200)]
Fix T52346: Alt-I (Delete Keyframes) on a NlaStrip's Extrapolate property would crash

4 years agoFix T52327: Entering/Exiting NLA Tweakmode disables Scene -> Only Keyframes from...
Joshua Leung [Fri, 11 Aug 2017 13:40:28 +0000 (01:40 +1200)]
Fix T52327: Entering/Exiting NLA Tweakmode disables Scene -> Only Keyframes from Selected Channels

The tweakmode flag and the selected-channels flag accidentally
used the same value, due to confusion over where these flags were
supposed to be set. The selected-channels flag has now been moved
to use a different value, so that there shouldn't be any further

To be ported to 2.79.

4 years agoFix bevel clamping bugs T51247 and T50819.
Howard Trickey [Fri, 11 Aug 2017 13:13:27 +0000 (09:13 -0400)]
Fix bevel clamping bugs T51247 and T50819.

Old bevel 'Clamp overlap' code was very naive: just limit amount
to half edge length. This uses more accurate (but not perfect)
calculations for the max amount before (many) geometry collisions
happen. This is not a backward compatible change - meshes that
have modifiers with 'Clamp overlap' will likely have larger allowed
bevel widths now. But that can be fixed by turning off clamp overlap
and setting the amount to the desired value.

4 years agoObject Apply Transform: option to apply properties
Campbell Barton [Fri, 11 Aug 2017 12:16:44 +0000 (22:16 +1000)]
Object Apply Transform: option to apply properties

In some cases users may want to disable this option
to avoid changing other properties besides vertex locations.

4 years agoFix T52344: Softbody on Text.
Bastien Montagne [Fri, 11 Aug 2017 12:25:36 +0000 (14:25 +0200)]
Fix T52344: Softbody on Text.

Own previous fix (rBd5d626df236b) was not valid, curves are actually
supported by SoftBodies. It was rather a mere UI bug, which was not
including Surfaces and Font obect types in those valid for softbody UI.

Thanks to @brecht for the head up!

Also, fix safe for 2.79, btw.

4 years agoTweak maximum sizes of vertices/handle vertices
Joshua Leung [Fri, 11 Aug 2017 04:16:30 +0000 (16:16 +1200)]
Tweak maximum sizes of vertices/handle vertices

* 255 maximum seems excessive for F-Curve handle vertices; now reduced to 100

* Vertex Size is no longer restricted to the old 10px maximum size limit
  (used because Windows limited the maximum vertex size drivers needed to

4 years agoFix: Muted strips in NLA draw with dotted borders again
Joshua Leung [Fri, 11 Aug 2017 02:48:03 +0000 (14:48 +1200)]
Fix: Muted strips in NLA draw with dotted borders again

It's more important that there is some form of feedback that the strips
are muted (i.e. dotted borders) than the fact that those dotted borders
may have slightly rounded corners. So, just use a regular sharp-cornered
rect when the strips need to be muted.

4 years agoCode Cleanup: Use utility function here
Joshua Leung [Fri, 11 Aug 2017 02:44:08 +0000 (14:44 +1200)]
Code Cleanup: Use utility function here

There's no reason to manually iterate over items in a DLRBT_Tree,
as the structure is designed to be able to be safely casted down
to a ListBase and ListBase-like nodes..

4 years agoRevert C99 "cleanups" from rB09bfc378895f
Joshua Leung [Fri, 11 Aug 2017 02:42:18 +0000 (14:42 +1200)]
Revert C99 "cleanups" from rB09bfc378895f

4 years agoNla Drawing: Fix strip outlines being drawn too thick
Joshua Leung [Thu, 3 Aug 2017 12:32:34 +0000 (00:32 +1200)]
Nla Drawing: Fix strip outlines being drawn too thick

4 years agoGraphEdit Drawing: Make active F-Curve slightly thicker
Joshua Leung [Thu, 3 Aug 2017 12:32:01 +0000 (00:32 +1200)]
GraphEdit Drawing: Make active F-Curve slightly thicker

4 years agoGraphEdit Keyframe Drawing: Tweak styling of handles
Joshua Leung [Thu, 3 Aug 2017 01:45:26 +0000 (13:45 +1200)]
GraphEdit Keyframe Drawing: Tweak styling of handles

* Reduce interior fill opacity - These should *not* be shaded
* Adjust thickness of lines to match the old chunkiness more

4 years agoCycles: Clarify new argument in PathRadiance
Sergey Sharybin [Fri, 11 Aug 2017 10:46:09 +0000 (12:46 +0200)]
Cycles: Clarify new argument in PathRadiance

4 years agoCycles tests: Draw images on top of checkerboard
Sergey Sharybin [Fri, 11 Aug 2017 07:34:34 +0000 (09:34 +0200)]
Cycles tests: Draw images on top of checkerboard

This way it's easier to see alpha-channel only images, such as shadow catcher
images on transparent film.

4 years agoFix T52229: Shadow Catcher artifacts when under transparency
Sergey Sharybin [Fri, 11 Aug 2017 07:33:18 +0000 (09:33 +0200)]
Fix T52229: Shadow Catcher artifacts when under transparency

Added some extra tirckery to avoid background being tinted dark with transparent
surface. Maybe a bit hacky, but seems to work fine.

4 years agoEevee: SSR: Change clamp default.
Clément Foucault [Fri, 11 Aug 2017 10:59:32 +0000 (12:59 +0200)]
Eevee: SSR: Change clamp default.

4 years agoEevee: Refraction: Fix low roughness artifact.
Clément Foucault [Fri, 11 Aug 2017 10:53:17 +0000 (12:53 +0200)]
Eevee: Refraction: Fix low roughness artifact.

4 years agoPie menu's sub-rows ignore 'EXPAND' flag
Aleksandr Zinovev [Fri, 11 Aug 2017 10:18:30 +0000 (13:18 +0300)]
Pie menu's sub-rows ignore 'EXPAND' flag

Regression, to be backported in 2.79.

4 years agoRNA: Operators were excluded from struct map
Campbell Barton [Fri, 11 Aug 2017 10:09:22 +0000 (20:09 +1000)]
RNA: Operators were excluded from struct map

Recent changes meant structs that were registered without a name
wouldn't get added to the map.
Now assigning identifiers manages the struct-map.

4 years agoGHash: note that 'deprecated' is used for private
Campbell Barton [Fri, 11 Aug 2017 09:04:41 +0000 (19:04 +1000)]
GHash: note that 'deprecated' is used for private

4 years agoError in last commit, problems with unregister
Campbell Barton [Fri, 11 Aug 2017 09:09:03 +0000 (19:09 +1000)]
Error in last commit, problems with unregister

We can't free the identifier before its used when
removing from the ghash.

4 years agoFix T52344: Softbody on Text.
Bastien Montagne [Fri, 11 Aug 2017 08:24:57 +0000 (10:24 +0200)]
Fix T52344: Softbody on Text.

For some reasons (c) softbody modifier was marked as compatible with
curves... Would need much more work though, so for now just removing
that flag!

4 years agoRNA: Use hash lookups for structs
Campbell Barton [Fri, 11 Aug 2017 07:51:38 +0000 (17:51 +1000)]
RNA: Use hash lookups for structs

Adding structs was checking for duplicates
causing approx 75k string comparisons on startup.

While overall speedup is minimal,
Python access to `bpy.types` will now use a hash lookup
instead of a full linked list search.

See D2774

4 years agoTransform: Snap used multiple eval contexts
Campbell Barton [Fri, 11 Aug 2017 01:23:39 +0000 (11:23 +1000)]
Transform: Snap used multiple eval contexts

Changes for 2.8x to use EvaluationContext caused some confusion

- Would use scene layer passed from snap context.
- Would generate duplis from Main eval context.
- Would take context argument and use it to create another eval context.

Adding context args all over and filling in a new eval-context
for every ray-cast test isn't ideal either.

Remove the context argument since the purpose of
SnapObjectContext is to avoid this kind of confusion.
Store the EvaluationContext once and re-use.

4 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 11 Aug 2017 00:33:39 +0000 (10:33 +1000)]
Merge branch 'master' into blender2.8

4 years agoWM: don't load preferences on 'File -> New'
Campbell Barton [Thu, 10 Aug 2017 23:29:25 +0000 (09:29 +1000)]
WM: don't load preferences on 'File -> New'

User preferences are now only loaded on...

- Initial startup.
- Factory-settings.
- Setting app-templates.

4 years agoEevee: Re: Fix NaN
Clément Foucault [Thu, 10 Aug 2017 23:25:40 +0000 (01:25 +0200)]
Eevee: Re: Fix NaN

This should be faster and apparently more stable.

4 years agoEevee: SSR Clamp color when blurring buffers.
Clément Foucault [Thu, 10 Aug 2017 23:24:09 +0000 (01:24 +0200)]
Eevee: SSR Clamp color when blurring buffers.

This effectivly reduce firefly bleeding all over the place.
We still need the clamp in the resolve pass because the level 0 has not been clamped.
NOTE: I did not clamped each sample individually for performance BUT I did not profile it to know how much it cost.

4 years agoEevee: Fix NaN
Clément Foucault [Thu, 10 Aug 2017 21:08:33 +0000 (23:08 +0200)]
Eevee: Fix NaN

This was surely cause by float overflow. Limit roughness in this case to limit the brdf intensity.
Also compute VH faster.

Add a sanitizer to the SSR pass for investigating where NANs come from. Play with the roughness until you see where the black pixel is / comes from.

4 years agoCycles: remove square samples option.
Brecht Van Lommel [Wed, 2 Aug 2017 13:39:02 +0000 (15:39 +0200)]
Cycles: remove square samples option.

It doesn't seem that useful in practice, was mostly added to match some
other renderers but also seems to be causing user confusing and accidental
long render times. So let's just keep the UI simple and remove this.

Differential Revision:

4 years agoCycles: change defaults for filter glossy, clamp and branched path AA.
Brecht Van Lommel [Wed, 2 Aug 2017 13:29:08 +0000 (15:29 +0200)]
Cycles: change defaults for filter glossy, clamp and branched path AA.

We're adding some bias by default, which now I think is the right thing
to do from a usability point of view since you really need to use those
options anyway to get clean renders in a practical time.

Differential Revision:

4 years agoCycles: add denoising tests, keep new image even if no reference exists.
Brecht Van Lommel [Thu, 10 Aug 2017 22:38:39 +0000 (00:38 +0200)]
Cycles: add denoising tests, keep new image even if no reference exists.

4 years agoFix T52322: denoiser broken on Windows after recent changes.
Brecht Van Lommel [Thu, 10 Aug 2017 21:38:20 +0000 (23:38 +0200)]
Fix T52322: denoiser broken on Windows after recent changes.

It's not clear why this only happened on Windows, but the code
was wrong and should do a bitcast here instead of conversion.

4 years agoFix crash checking for Blender version 10+
Campbell Barton [Thu, 10 Aug 2017 22:56:57 +0000 (08:56 +1000)]
Fix crash checking for Blender version 10+

PyAPI could trigger this, for now just truncate.

4 years agoCleanup: redundant 'static' variable
Campbell Barton [Thu, 10 Aug 2017 22:48:15 +0000 (08:48 +1000)]
Cleanup: redundant 'static' variable

Also use BLI_snprintf.

4 years agoFix OSX duplicate path in Python's sys.path
Campbell Barton [Thu, 10 Aug 2017 22:42:27 +0000 (08:42 +1000)]
Fix OSX duplicate path in Python's sys.path

The '..' in the path caused simple comparisons to fail.

D2780 by @akitula

4 years agoCleanup: whitespace
Campbell Barton [Thu, 10 Aug 2017 22:32:05 +0000 (08:32 +1000)]
Cleanup: whitespace

4 years agoCMake: only build msgfmt if international is used
Campbell Barton [Thu, 10 Aug 2017 22:13:16 +0000 (08:13 +1000)]
CMake: only build msgfmt if international is used

Changes to BLI would always rebuild msgfmt.

4 years agoFix MSVSC error
Antonio Vazquez [Thu, 10 Aug 2017 15:41:47 +0000 (17:41 +0200)]
Fix MSVSC error

The array must have any initialization value

4 years agoFix after last merge.
Bastien Montagne [Thu, 10 Aug 2017 14:04:01 +0000 (16:04 +0200)]
Fix after last merge.

4 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 10 Aug 2017 13:57:59 +0000 (15:57 +0200)]
Merge branch 'master' into blender2.8

4 years agoFix install_deps usage of patches.
Bastien Montagne [Thu, 10 Aug 2017 13:55:19 +0000 (15:55 +0200)]
Fix install_deps usage of patches.

Who in Hell did rename those files and did not update accordingly script???

4 years agoDPI: add back option to control line width, tweak default width.
Brecht Van Lommel [Mon, 7 Aug 2017 20:42:47 +0000 (22:42 +0200)]
DPI: add back option to control line width, tweak default width.

Adds thin/default/thick modes to add -1/0/1 to the auto detected line width,
while leaving the overall UI scale unchanged.

Also tweaks the default line width threshold, so thicker lines start from
slightly high UI scales.

Differential Revision:

4 years agoFix T52334: images with non-color data should not change color space on save.
Brecht Van Lommel [Thu, 10 Aug 2017 12:11:18 +0000 (14:11 +0200)]
Fix T52334: images with non-color data should not change color space on save.

4 years agoEevee: Refraction: Add "thickness" parameter.
Clément Foucault [Thu, 10 Aug 2017 13:43:15 +0000 (15:43 +0200)]
Eevee: Refraction: Add "thickness" parameter.

This enables to fake a second refraction event. This is great to simulate thin planar objects such as glass panels.

4 years agoEevee: Fix multiply blend mode.
Clément Foucault [Wed, 9 Aug 2017 21:51:26 +0000 (23:51 +0200)]
Eevee: Fix multiply blend mode.

4 years agoObject Mode Engine: Optimize outline passes.
Clément Foucault [Wed, 9 Aug 2017 21:51:00 +0000 (23:51 +0200)]
Object Mode Engine: Optimize outline passes.

Group texture fetches to hide latency. 3.2ms -> 2.2ms (constant time improvement, not depending on scene complexity)

Could optimize further with textureGather (require OpenGL 4.0).

4 years agoEevee: Refraction: Make it available for opaque materials.
Clément Foucault [Wed, 9 Aug 2017 21:48:42 +0000 (23:48 +0200)]
Eevee: Refraction: Make it available for opaque materials.

Theses Materials are rendered after the SSR pass.
The only difference with previous method is that they have a depth prepass (less overdraw) and are not sorted.

4 years agoDRW: Indent profiler timings.
Clément Foucault [Wed, 9 Aug 2017 20:34:26 +0000 (22:34 +0200)]
DRW: Indent profiler timings.

4 years agoEevee: Fix AO not working.
Clément Foucault [Wed, 9 Aug 2017 14:54:46 +0000 (16:54 +0200)]
Eevee: Fix AO not working.

4 years agoEevee: Add Screen Space Refraction.
Clément Foucault [Wed, 9 Aug 2017 14:54:18 +0000 (16:54 +0200)]
Eevee: Add Screen Space Refraction.

For the moment the only way to enable this is to:
- enable Screen Space REFLECTIONS.
- enable Screen Space Refraction in the SSR parameters.
- enable Screen Space Refraction in the material tab.

4 years agoEevee: Refraction: Fix border artifacts.
Clément Foucault [Wed, 9 Aug 2017 13:44:17 +0000 (15:44 +0200)]
Eevee: Refraction: Fix border artifacts.

4 years agoEevee: SSR: Fix cone footprint estimation.
Clément Foucault [Wed, 9 Aug 2017 13:43:21 +0000 (15:43 +0200)]
Eevee: SSR: Fix cone footprint estimation.

4 years agoEevee: SSR: Blur Mipmaps more.
Clément Foucault [Wed, 9 Aug 2017 13:31:57 +0000 (15:31 +0200)]
Eevee: SSR: Blur Mipmaps more.

Cost is negligeable (Only 0.02 ms more) and it improve stability.

4 years agoEevee: SSR: Refine Raytrace Algorithm.
Clément Foucault [Wed, 9 Aug 2017 13:29:44 +0000 (15:29 +0200)]
Eevee: SSR: Refine Raytrace Algorithm.

We track the previous ray position offseted by the thickness. If the sampled depth is between this value and the current ray position then we have a hit.
This fixes rays that are almost colinear with the view vector. Thickness is now only important for rays that are comming back to the camera.

As a consequence, this simplify a lot of things.

Also include some refactor.

4 years agoEevee: Correct Mipmap texel alignment.
Clément Foucault [Wed, 9 Aug 2017 13:20:18 +0000 (15:20 +0200)]
Eevee: Correct Mipmap texel alignment.

Since we are working with non power of 2 textures, the mipmap level UV does not line up perfectly.
This resulted in skewed filtering and bad sampling of the min/max depth buffer.

4 years agoEevee: Add Refraction via probes.
Clément Foucault [Fri, 4 Aug 2017 16:47:41 +0000 (18:47 +0200)]
Eevee: Add Refraction via probes.

4 years agoEevee: Small code codestyle and fixes.
Clément Foucault [Fri, 4 Aug 2017 16:47:17 +0000 (18:47 +0200)]
Eevee: Small code codestyle and fixes.

Rename get_specular_dominant_dir to get_specular_reflection_dominant_dir.
Add Zero length N check everywhere.

4 years agoEevee: LUT generation.
Clément Foucault [Fri, 4 Aug 2017 16:43:02 +0000 (18:43 +0200)]
Eevee: LUT generation.

We generate a 3D lut to precompute the btdf intensity.
I decided to use a 64*64*16 (N dot V, ior, roughness) because the btdf varies less with roughness than with IOR.
We also remap the ior to better use the space in the LUT.

4 years agoEevee: Add precomputed BTDF LUT.
Clément Foucault [Fri, 4 Aug 2017 16:30:13 +0000 (18:30 +0200)]
Eevee: Add precomputed BTDF LUT.

4 years agoTweak and extend POV syntax hilghting.
Bastien Montagne [Thu, 10 Aug 2017 13:29:19 +0000 (15:29 +0200)]
Tweak and extend POV syntax hilghting.

*Changed categories of some keywords
*reordered some longer keywords that didn't appear
*Activated another color (reserved builtins) by Leonid
*added some HGPOV and UberPOV missing keywords

Patch by Maurice Raybaud (@mauriceraybaud). Thanks to Leonid for additions, feedback and Linux testing.
Related diffs: D2754 and D2755.

While not a regression, this is new feature and would be nice to have it
backported to final 2.79.

4 years agoCleanup: make seq dupli scene operands' names match global copying convention.
Bastien Montagne [Thu, 10 Aug 2017 13:06:53 +0000 (15:06 +0200)]
Cleanup: make seq dupli scene operands' names match global copying convention.

Followup to rB1037b90cb831b, forgot to save that file :(

4 years agoCleanup: de-duplicate makefile OS checks
Campbell Barton [Thu, 10 Aug 2017 12:36:47 +0000 (22:36 +1000)]
Cleanup: de-duplicate makefile OS checks

4 years agoManipulator: add compositor corner-pin widgets
Campbell Barton [Thu, 10 Aug 2017 11:01:03 +0000 (21:01 +1000)]
Manipulator: add compositor corner-pin widgets

4 years agoCleanup: make seq dupli scene operands' names match global copying convention.
Bastien Montagne [Thu, 10 Aug 2017 11:00:01 +0000 (13:00 +0200)]
Cleanup: make seq dupli scene operands' names match global copying convention.

4 years agoFix T52332: crash when duplicating sequencer strips.
Bastien Montagne [Thu, 10 Aug 2017 10:56:32 +0000 (12:56 +0200)]
Fix T52332: crash when duplicating sequencer strips.

Bug introduced in recent ID copying refactor.

This commit basically sanitizes seq strip copying behavior, by making
destination scene pointer mandatory (and source one a const one).
Nothing then prevents you from using same pointer as source and

4 years agoFix T52324: Metaball disappears when deleting first metaball object.
Bastien Montagne [Thu, 10 Aug 2017 10:32:50 +0000 (12:32 +0200)]
Fix T52324: Metaball disappears when deleting first metaball object.

Lost specific MBall 'need update' case here in last year's refactor.

While technically not a regression, nice to have in 2.79.

4 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 10 Aug 2017 09:14:36 +0000 (11:14 +0200)]
Merge branch 'master' into blender2.8

4 years agoCleanup & fix potential NULL pointer dereferencing.
Bastien Montagne [Thu, 10 Aug 2017 08:27:47 +0000 (10:27 +0200)]
Cleanup & fix potential NULL pointer dereferencing.

4 years agoFix T52314: New ID copy code (rBrB9da7dfa1586d) Breaks node previews in compositor.
Bastien Montagne [Thu, 10 Aug 2017 08:26:22 +0000 (10:26 +0200)]
Fix T52314: New ID copy code (rBrB9da7dfa1586d) Breaks node previews in compositor.

"Just" forgot to copy data block's name in 'NO_MAIN' case... *sigh*

4 years agoCycles: Fix instanced shadow catcher objects influencing each other
Sergey Sharybin [Thu, 10 Aug 2017 07:22:33 +0000 (09:22 +0200)]
Cycles: Fix instanced shadow catcher objects influencing each other

4 years agoCycles: De-duplicate trace-time object visibility calculation
Sergey Sharybin [Thu, 10 Aug 2017 07:19:40 +0000 (09:19 +0200)]
Cycles: De-duplicate trace-time object visibility calculation

We already have enough files to worry about in BVH builders. no need to add yet
another copy-paste code which is tempting to be running out of sync.

4 years agoManipulator: grab3d option to align to view
Campbell Barton [Thu, 10 Aug 2017 06:35:45 +0000 (16:35 +1000)]
Manipulator: grab3d option to align to view

Use for lamp-target, makes it easier to click on.

4 years agoManipulator: cage2d translate in 3D view support
Campbell Barton [Thu, 10 Aug 2017 04:28:02 +0000 (14:28 +1000)]
Manipulator: cage2d translate in 3D view support

Needed for moving image-empties.

4 years agoManipulator: add image-empty manipulator
Campbell Barton [Thu, 10 Aug 2017 04:05:43 +0000 (14:05 +1000)]
Manipulator: add image-empty manipulator

4 years agoManipulator: apply cage2d scale before offset
Campbell Barton [Thu, 10 Aug 2017 04:03:37 +0000 (14:03 +1000)]
Manipulator: apply cage2d scale before offset

Needed when offset takes factor into account.

4 years agoManipulator: expose use_draw_offset_scale to RNA
Campbell Barton [Wed, 9 Aug 2017 23:58:43 +0000 (09:58 +1000)]
Manipulator: expose use_draw_offset_scale to RNA

4 years agoCleanup: don't abbreviate color w/ manipulator API
Campbell Barton [Wed, 9 Aug 2017 23:47:43 +0000 (09:47 +1000)]
Cleanup: don't abbreviate color w/ manipulator API