blender.git
5 months agoMerge branch 'blender2.7'
Sergey Sharybin [Wed, 16 Jan 2019 13:58:53 +0000 (14:58 +0100)]
Merge branch 'blender2.7'

5 months agoCycles: Report whether camera was detected inside volume or not
Sergey Sharybin [Wed, 16 Jan 2019 13:51:30 +0000 (14:51 +0100)]
Cycles: Report whether camera was detected inside volume or not

5 months agoMultires: Cleanup, comments
Sergey Sharybin [Wed, 16 Jan 2019 10:56:52 +0000 (11:56 +0100)]
Multires: Cleanup, comments

5 months agoExpose batch IDs deletion in python API.
Bastien Montagne [Wed, 16 Jan 2019 10:58:11 +0000 (11:58 +0100)]
Expose batch IDs deletion in python API.

Follow-up to previous commit.

5 months agoAdd experimental batch IDs deletion.
Bastien Montagne [Wed, 16 Jan 2019 10:50:20 +0000 (11:50 +0100)]
Add experimental batch IDs deletion.

Main idea is to remove IDs to be deleted from Main, to avoid looping on
them to remove other deleted IDs usage (this is the most expensive
process in ID deletion, by far).

Speed improvements when deleting a large amount of IDs from a Main
containing a lot of them is quite significant, some examples for Objects:
* Removing 1k from 10k: 32% quicker (2.5s to 1.7s).
* Removing 10k from 20k: 60% quicker (59s to 23s).
* Removing 20k from 20k: 99.5% quicker (82s to 0.4s)!

Note however that this process is more risky/touchy, since we by-pass
some safety checks from regular ID removal here.
So will only give access to that code from python API for now (in
separate commit), so that it gets really tested. Also still need to
think about how to hook it up in UI (probably mostly for Outliner),
since we often do higher-level operations there...

5 months agoFix crash creating new file after modifications
Sergey Sharybin [Wed, 16 Jan 2019 10:39:30 +0000 (11:39 +0100)]
Fix crash creating new file after modifications

Seems to be caused by cae3750 which changed free() function used
by bmain free to the one which does dependency graph tag. We do
no want to do any tags here.

5 months agoCleanup: Spelling in comment
Sergey Sharybin [Wed, 16 Jan 2019 10:36:54 +0000 (11:36 +0100)]
Cleanup: Spelling in comment

5 months agoMultires: Prepare for cached topology
Sergey Sharybin [Wed, 16 Jan 2019 09:58:35 +0000 (10:58 +0100)]
Multires: Prepare for cached topology

Note that the actual caching is still disabled, since
more tests is needed with more production-looking files.

5 months agoOpenSubdiv: Remove topology orientation code
Sergey Sharybin [Wed, 16 Jan 2019 09:21:31 +0000 (10:21 +0100)]
OpenSubdiv: Remove topology orientation code

It is no longer used and has some issues in corner cases
which are not handled in a way which OpenSubdiv expects.

5 months agoSubdiv: Reset evaluator creation statistics
Sergey Sharybin [Wed, 16 Jan 2019 09:15:25 +0000 (10:15 +0100)]
Subdiv: Reset evaluator creation statistics

Makes it more clear to see what was exactly happening at
the last invocation of subsurf modifier.

5 months agoOpenSubdiv: Implement UV topology comparison
Sergey Sharybin [Tue, 15 Jan 2019 15:15:46 +0000 (16:15 +0100)]
OpenSubdiv: Implement UV topology comparison

5 months agoSubdiv: Initial implementation of topology cache
Sergey Sharybin [Tue, 15 Jan 2019 14:34:11 +0000 (15:34 +0100)]
Subdiv: Initial implementation of topology cache

This commit makes it so OpenSubdiv's topology refiner is kept
in memory and reused for until topology changes. There are the
following modifications which causes topology refiner to become
invalid:

- Change in a mesh topology (for example, vertices, edges, and
  faces connectivity).
- Change in UV islands (adding new islands, merging them and
  so on),
- Change in UV smoothing options.
- Change in creases.
- Change in Catmull-Clark / Simple subdivisions.

The following limitations are known:

- CPU evaluator is not yet cached.
- UV islands topology is not checked.

The UV limitation is currently a stopper for making this cache
enabled by default.

5 months agoOpenSubdiv: Correct topology cpmparator
Sergey Sharybin [Tue, 15 Jan 2019 13:00:57 +0000 (14:00 +0100)]
OpenSubdiv: Correct topology cpmparator

This fixes following errors:

- The code didn't work correctly for edges reconstructed by
  the OpenSubdiv's topology refiner (due to indexing
  difference).

- Sharpness of non-manifold and boundary edges was not
  working correctly.

5 months agoOpenSubdiv: Use own utility header
Sergey Sharybin [Tue, 15 Jan 2019 10:08:33 +0000 (11:08 +0100)]
OpenSubdiv: Use own utility header

Replaces direct access to std.

5 months agoOpenSubdiv: Cleanup, indentation
Sergey Sharybin [Mon, 14 Jan 2019 16:09:44 +0000 (17:09 +0100)]
OpenSubdiv: Cleanup, indentation

5 months agoSubdiv: Cleanup, pass mesh by const pointer
Sergey Sharybin [Mon, 14 Jan 2019 10:15:57 +0000 (11:15 +0100)]
Subdiv: Cleanup, pass mesh by const pointer

5 months agoSubdiv: Cleanup, comments
Sergey Sharybin [Mon, 14 Jan 2019 10:11:42 +0000 (11:11 +0100)]
Subdiv: Cleanup, comments

5 months agoAlembic: C++11 doesn't need the space between '> >'
Sybren A. Stüvel [Tue, 15 Jan 2019 17:50:24 +0000 (18:50 +0100)]
Alembic: C++11 doesn't need the space between '> >'

C++11 doesn't need the space between '> >' in a nested templated
declaration, so instead of `std::vector<std::pair<a, b> >` we can now
write `std::vector<std::pair<a, b> >`.

5 months agoAlembic export: write curve/NURBS as mesh
Sybren A. Stüvel [Tue, 15 Jan 2019 15:45:12 +0000 (16:45 +0100)]
Alembic export: write curve/NURBS as mesh

It's now possible to export curves and NURBS as mesh data to Alembic.
This allows artists to do any crazy thing on curves and export the
visual result to Alembic for interoperability with other software (or
caching for later use, etc.). It's an often-requested feature.

This works around T60503 and the fixes export part of T51311.

Note that exporting zero-width curves is currently not supported, as
exporting a faceless mesh (e.g. just edges and vertices) is not
supported by the mesh writer at all.

To test, create a curve with thickness (for example extruded), export to
Alembic and check the 'Curves to Mesh' checkbox in the export options.

Reviewers: sergey

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

5 months agoAlembic export: separated "writing Alembic mesh" from "writing mesh object"
Sybren A. Stüvel [Tue, 15 Jan 2019 14:16:39 +0000 (15:16 +0100)]
Alembic export: separated "writing Alembic mesh" from "writing mesh object"

I moved most of the `AbcMeshWriter` code to a new class
`AbcGenericMeshWriter`. The latter is an abstract class and does not
make any assumptions about the type of Blender object being written.
This makes it possible to write metaballs, curves, nurbs surfaces, etc.
as mesh to Alembic files.

The `AbcMeshWriter` class now is the concrete implementation of
`AbcGenericMeshWriter` for writing mesh objects.

Reviewers: sergey

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

5 months agoFix uninitialized cursor w/ setting object origin
Campbell Barton [Wed, 16 Jan 2019 08:57:58 +0000 (19:57 +1100)]
Fix uninitialized cursor w/ setting object origin

5 months agoFix T52354: Origin to Geometry uses Bounds w/ Median Center is set
Campbell Barton [Wed, 16 Jan 2019 07:32:09 +0000 (18:32 +1100)]
Fix T52354: Origin to Geometry uses Bounds w/ Median Center is set

5 months agoLogging: add '--log-show-timestamp' option.
Campbell Barton [Wed, 16 Jan 2019 05:29:40 +0000 (16:29 +1100)]
Logging: add '--log-show-timestamp' option.

Part of D4214 by @sobakasu w/ edits.

5 months agoBMesh: prevent weld-verts bmop creating selected+hidden verts/edges
Campbell Barton [Wed, 16 Jan 2019 04:26:16 +0000 (15:26 +1100)]
BMesh: prevent weld-verts bmop creating selected+hidden verts/edges

Related to error exposed by T59640
Would have fixed crash too, but we want to ignore hidden verts.

5 months agoBMesh: prevent weld-verts bmop creating selected+hidden verts/edges
Campbell Barton [Wed, 16 Jan 2019 04:26:16 +0000 (15:26 +1100)]
BMesh: prevent weld-verts bmop creating selected+hidden verts/edges

Related to error exposed by T59640
Would have fixed crash too, but we want to ignore hidden verts.

5 months agoFix T59640: Transform w/ auto-merge & hidden verts crashes
Campbell Barton [Wed, 16 Jan 2019 03:54:52 +0000 (14:54 +1100)]
Fix T59640: Transform w/ auto-merge & hidden verts crashes

5 months agoFix T59640: Transform w/ auto-merge & hidden verts crashes
Campbell Barton [Wed, 16 Jan 2019 03:54:52 +0000 (14:54 +1100)]
Fix T59640: Transform w/ auto-merge & hidden verts crashes

5 months agoFix uninitialized variable use w/ kdopbvh ray projection
Campbell Barton [Wed, 16 Jan 2019 04:00:32 +0000 (15:00 +1100)]
Fix uninitialized variable use w/ kdopbvh ray projection

Snapping verts for eg would use these values uninitialized.

5 months agoObject: avoid calling operators in ED_editors_init
Campbell Barton [Wed, 16 Jan 2019 00:46:55 +0000 (11:46 +1100)]
Object: avoid calling operators in ED_editors_init

Don't call operator when entering sculpt modes.

5 months agoCleanup: de-duplicate rotation mode enum
Campbell Barton [Wed, 16 Jan 2019 00:16:15 +0000 (11:16 +1100)]
Cleanup: de-duplicate rotation mode enum

5 months agoCleanup: use max frame define
Campbell Barton [Wed, 16 Jan 2019 00:09:51 +0000 (11:09 +1100)]
Cleanup: use max frame define

5 months agoGP: Use weight in noise modifier for all types
Antonioya [Tue, 15 Jan 2019 19:24:07 +0000 (20:24 +0100)]
GP: Use weight in noise modifier for all types

The weight was used only for position.

5 months agoFix T59826: grease pencil crash with empty material slot.
Brecht Van Lommel [Tue, 15 Jan 2019 17:17:53 +0000 (18:17 +0100)]
Fix T59826: grease pencil crash with empty material slot.

5 months agoMerge branch 'blender2.7'
Sergey Sharybin [Tue, 15 Jan 2019 17:42:37 +0000 (18:42 +0100)]
Merge branch 'blender2.7'

5 months agoSequencer: Restore change menu
Sergey Sharybin [Tue, 15 Jan 2019 17:33:37 +0000 (18:33 +0100)]
Sequencer: Restore change menu

It was still used by C-key menu, and is very handy to have
when working on a complex edit files.

Was initially removed by e9d06f086698.

5 months agoFix T60383: mesh merge type callback returned NULL
Jacques Lucke [Tue, 15 Jan 2019 17:27:21 +0000 (18:27 +0100)]
Fix T60383: mesh merge type callback returned NULL

5 months agoFix T60246: crash with Cycles baking while in edit mode.
Brecht Van Lommel [Tue, 15 Jan 2019 15:53:35 +0000 (16:53 +0100)]
Fix T60246: crash with Cycles baking while in edit mode.

5 months agoAlembic: removed declaration of non-existing functions
Sybren A. Stüvel [Tue, 15 Jan 2019 13:09:06 +0000 (14:09 +0100)]
Alembic: removed declaration of non-existing functions

Removed AbcMeshWriter::getMeshInfo() and AbcMeshWriter::getMaterialIndices().

5 months agoMarked TODOs with the actual string TODO
Sybren A. Stüvel [Tue, 15 Jan 2019 11:20:55 +0000 (12:20 +0100)]
Marked TODOs with the actual string TODO

There are some things that need to be done in Alembic for Blender 2.8 to
make all the 'visible/renderable/selected only' options work.

5 months agoAlembic export: fixed memory leak
Sybren A. Stüvel [Tue, 15 Jan 2019 15:14:05 +0000 (16:14 +0100)]
Alembic export: fixed memory leak

If the triangulated mesh was in itself a new mesh that should be freed this
should happen before the function returns (as it only returns a single mesh,
and thus the caller can only free one).

5 months agoMerge branch 'blender2.7'
Campbell Barton [Tue, 15 Jan 2019 13:28:46 +0000 (00:28 +1100)]
Merge branch 'blender2.7'

5 months agoMerge branch 'blender2.7'
Campbell Barton [Tue, 15 Jan 2019 13:27:10 +0000 (00:27 +1100)]
Merge branch 'blender2.7'

5 months agoCleanup: commas at the end of enums
Campbell Barton [Tue, 15 Jan 2019 12:57:49 +0000 (23:57 +1100)]
Cleanup: commas at the end of enums

Without this clang-format may wrap them onto a single line.

5 months agoCleanup: comment line length (editors)
Campbell Barton [Tue, 15 Jan 2019 12:24:20 +0000 (23:24 +1100)]
Cleanup: comment line length (editors)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: comment line length (blenlib)
Campbell Barton [Tue, 15 Jan 2019 12:15:58 +0000 (23:15 +1100)]
Cleanup: comment line length (blenlib)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: comment line length (creator)
Campbell Barton [Tue, 15 Jan 2019 12:25:45 +0000 (23:25 +1100)]
Cleanup: comment line length (creator)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: comment line length (DNA)
Campbell Barton [Tue, 15 Jan 2019 12:14:35 +0000 (23:14 +1100)]
Cleanup: comment line length (DNA)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: commas at the end of enums
Campbell Barton [Tue, 15 Jan 2019 12:57:49 +0000 (23:57 +1100)]
Cleanup: commas at the end of enums

Without this clang-format may wrap them onto a single line.

5 months agoCleanup: rename BASE_FROMDUPLI -> BASE_FROM_DUPLI
Campbell Barton [Tue, 15 Jan 2019 12:27:54 +0000 (23:27 +1100)]
Cleanup: rename BASE_FROMDUPLI -> BASE_FROM_DUPLI

Matches `BASE_FROM_SET`.

5 months agoCleanup: comment line length (editors)
Campbell Barton [Tue, 15 Jan 2019 12:24:20 +0000 (23:24 +1100)]
Cleanup: comment line length (editors)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: comment line length (blenlib)
Campbell Barton [Tue, 15 Jan 2019 12:15:58 +0000 (23:15 +1100)]
Cleanup: comment line length (blenlib)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: comment line length (creator)
Campbell Barton [Tue, 15 Jan 2019 12:25:45 +0000 (23:25 +1100)]
Cleanup: comment line length (creator)

Prevents clang-format wrapping text before comments.

5 months agoCleanup: comment line length (DNA)
Campbell Barton [Tue, 15 Jan 2019 12:14:35 +0000 (23:14 +1100)]
Cleanup: comment line length (DNA)

Prevents clang-format wrapping text before comments.

5 months agoFix T60498: Auto IK doesn't work immediately.
Brecht Van Lommel [Tue, 15 Jan 2019 11:07:22 +0000 (12:07 +0100)]
Fix T60498: Auto IK doesn't work immediately.

5 months agoFix T60497: wrong statusbar keymap display with MMB emulation.
Brecht Van Lommel [Tue, 15 Jan 2019 10:33:50 +0000 (11:33 +0100)]
Fix T60497: wrong statusbar keymap display with MMB emulation.

5 months agoFix T60497: edgering select not available with LMB select and MMB emulation.
Brecht Van Lommel [Tue, 15 Jan 2019 10:26:15 +0000 (11:26 +0100)]
Fix T60497: edgering select not available with LMB select and MMB emulation.

This is now handled with Ctrl + double click LMB, similar to loop select.

5 months agoFix T60410: Crash adjusting torus w/ enter edit-mode preference
Campbell Barton [Tue, 15 Jan 2019 10:33:01 +0000 (21:33 +1100)]
Fix T60410: Crash adjusting torus w/ enter edit-mode preference

5 months agoCleanup: pass main instead of context w/ ED_editors_exit/flush_edits
Campbell Barton [Tue, 15 Jan 2019 10:25:22 +0000 (21:25 +1100)]
Cleanup: pass main instead of context w/ ED_editors_exit/flush_edits

Useful for calling from lower level code.

5 months agoCleanup: rename BKE_libblock_delete to BKE_id_delete.
Bastien Montagne [Mon, 14 Jan 2019 20:24:25 +0000 (21:24 +0100)]
Cleanup: rename BKE_libblock_delete to BKE_id_delete.

5 months agoCleanup: rename BKE_libblock_free_us to BKE_id_free_us.
Bastien Montagne [Mon, 14 Jan 2019 20:08:22 +0000 (21:08 +0100)]
Cleanup: rename BKE_libblock_free_us to BKE_id_free_us.

5 months agoCleanup: removed disabled 'slow but safer' piece of code in make_local process.
Bastien Montagne [Mon, 14 Jan 2019 15:24:50 +0000 (16:24 +0100)]
Cleanup: removed disabled 'slow but safer' piece of code in make_local process.

Has been disabled for nearly two years now, think we can safely assume
new, quicker code is working properly now. :)

5 months agoCleanup: Remove deprecated BKE_libblock_free(_ex) functions, document BKE_id_free...
Bastien Montagne [Mon, 14 Jan 2019 15:22:27 +0000 (16:22 +0100)]
Cleanup: Remove deprecated BKE_libblock_free(_ex) functions, document BKE_id_free(_ex) ones.

5 months agoCleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.
Bastien Montagne [Mon, 14 Jan 2019 15:15:15 +0000 (16:15 +0100)]
Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.

5 months agoCleanup: replace usages of deprecated BKE_libblock_free by BKE_id_free.
Bastien Montagne [Mon, 14 Jan 2019 14:47:11 +0000 (15:47 +0100)]
Cleanup: replace usages of deprecated BKE_libblock_free by BKE_id_free.

5 months agoCleanup BKE_id_free_ex().
Bastien Montagne [Mon, 14 Jan 2019 14:38:05 +0000 (15:38 +0100)]
Cleanup BKE_id_free_ex().

Add 'missing' bpy code from BKE_libblock_free_ex(), now both functions
do exactly the same thing, only the later is less flexible (fewer
'exotic' behaviors supported, like handling IDs outside of bmain etc.).

Next step: nuke usages of BKE_libblock_free functions, makes no sense to
have twice the same code around!

5 months agoCorrect last commit
Campbell Barton [Tue, 15 Jan 2019 07:54:43 +0000 (18:54 +1100)]
Correct last commit

5 months agoFix T60507: Constrained transform shows all axes
Campbell Barton [Tue, 15 Jan 2019 07:39:11 +0000 (18:39 +1100)]
Fix T60507: Constrained transform shows all axes

Regression in 579c01da600dd

Move values_modal_offset use out of applyMouseInput
to resolve order of initialization issue.

5 months agoRevert fix for T48901: Use of XIWarpPointer
Campbell Barton [Tue, 15 Jan 2019 05:44:08 +0000 (16:44 +1100)]
Revert fix for T48901: Use of XIWarpPointer

Xorg's XIWarpPointer doesn't support multi-head display while
XWarpPointer does.

Revert since this is a known TODO in Xorg and setting a custom
xinput matrix seems not to be used often.

Resolves T50383

5 months agoRevert fix for T48901: Use of XIWarpPointer
Campbell Barton [Tue, 15 Jan 2019 05:44:08 +0000 (16:44 +1100)]
Revert fix for T48901: Use of XIWarpPointer

Xorg's XIWarpPointer doesn't support multi-head display while
XWarpPointer does.

Revert since this is a known TODO in Xorg and setting a custom
xinput matrix seems not to be used often.

Resolves T50383

5 months agoFix T60504: Armature wire draw type hidden when unselected
Campbell Barton [Tue, 15 Jan 2019 02:58:40 +0000 (13:58 +1100)]
Fix T60504: Armature wire draw type hidden when unselected

5 months agoFix T60506: Menu toggle clicks pass through to area
Campbell Barton [Tue, 15 Jan 2019 00:42:07 +0000 (11:42 +1100)]
Fix T60506: Menu toggle clicks pass through to area

5 months agoCMake: Improve handling of missing TBB & OpenVDB
Guillermo S. Romero [Tue, 15 Jan 2019 00:13:31 +0000 (11:13 +1100)]
CMake: Improve handling of missing TBB & OpenVDB

5 months agoFix T60512: Weight paint brushes show weight when unused
Campbell Barton [Tue, 15 Jan 2019 00:03:33 +0000 (11:03 +1100)]
Fix T60512: Weight paint brushes show weight when unused

5 months agoCleanup: use BrushCapabilities prefix for RNA types
Campbell Barton [Mon, 14 Jan 2019 23:53:02 +0000 (10:53 +1100)]
Cleanup: use BrushCapabilities prefix for RNA types

5 months agoCleanup: style
Campbell Barton [Mon, 14 Jan 2019 21:47:04 +0000 (08:47 +1100)]
Cleanup: style

5 months agoEdit Mesh: Improve selected double vertices visibility
Clément Foucault [Mon, 14 Jan 2019 22:42:52 +0000 (23:42 +0100)]
Edit Mesh: Improve selected double vertices visibility

The issue is that the edge fix geometry goes on top of the actual drawn
points.

This commit reduce the edge fix size to the strict minimum but does not
get rid of it.

Related to T60139

5 months agoFix T59482: Creating 2 Particle systems breaks the app
Clément Foucault [Mon, 14 Jan 2019 17:48:21 +0000 (18:48 +0100)]
Fix T59482: Creating 2 Particle systems breaks the app

5 months agoUI: indent subpanel headers more.
Harley Acheson [Mon, 14 Jan 2019 18:32:58 +0000 (19:32 +0100)]
UI: indent subpanel headers more.

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

5 months agoWindows: add support for Windows Ink.
Christopher Peerman [Mon, 14 Jan 2019 16:46:49 +0000 (17:46 +0100)]
Windows: add support for Windows Ink.

Before this Blender always needed the Wintab driver. This adds support for the
native pressure API in Windows 8+, making it possible to get pressure sensitivity
on e.g. Microsoft Surface hardware without any extra drivers.

By default Blender will automatically use Wintab if available, and if not use
Windows Ink instead. There is also a new user preference to explicitly specify
which API to use if automatic detection fails.

Fixes T57869: no pressure sensitivity with Surface pen or laptop.

Code by Christopher Peerman with some tweaks by Brecht Van Lommel.

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

5 months agoCleanup: refactor GHOST wintab handling.
Brecht Van Lommel [Mon, 14 Jan 2019 18:12:02 +0000 (19:12 +0100)]
Cleanup: refactor GHOST wintab handling.

5 months agoFix T60476 Loose vertices only partially drawn
Clément Foucault [Mon, 14 Jan 2019 17:32:45 +0000 (18:32 +0100)]
Fix T60476 Loose vertices only partially drawn

Was caused by a missing vbo attachement.

Also fix said Vbo refreshing when selecting.

5 months agoObject Mode: Outlines: Add support for thicker outline
Clément Foucault [Mon, 14 Jan 2019 17:20:04 +0000 (18:20 +0100)]
Object Mode: Outlines: Add support for thicker outline

Base outline is 2px wide (because of how we detect them).
And since inflating this outline will only produce outlines that are 2*x
thick we map the UI scalling and the outline width setting to the closest
match.

Do note that thicker outlines have a performance cost since they need more
texture fetches and passes.

This fixes T60252 3D View Outline Width not working

5 months agoGPUMaterial: Cleanup
Clément Foucault [Mon, 14 Jan 2019 16:34:03 +0000 (17:34 +0100)]
GPUMaterial: Cleanup

5 months agoFix T60332: Lattice objects do not display properly in Edit mode
Clément Foucault [Mon, 14 Jan 2019 15:26:32 +0000 (16:26 +0100)]
Fix T60332: Lattice objects do not display properly in Edit mode

This was caused by wires not having alpha by default, making them disapear
with MSAA.

5 months agoFix incorrect individual origins icon in clip editor.
Sebastian Koenig [Mon, 14 Jan 2019 16:35:29 +0000 (17:35 +0100)]
Fix incorrect individual origins icon in clip editor.

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

5 months agoNLA: implement a new blending mode that intelligently combines actions.
Alexander Gavrilov [Sun, 23 Dec 2018 15:43:01 +0000 (18:43 +0300)]
NLA: implement a new blending mode that intelligently combines actions.

The existing Add and Multiply blending modes have limited usability,
because the appropriate operation for meaningfully combining values
depends on the channel. This adds a new mode that chooses the operation
automatically based on property settings:

- Axis+Angle channels are summed, effectively averaging the
  axis, but adding up the angle. Default is forced to 0.

- Quaternion channels use quaternion multiplication:

  result = prev * value ^ influence

- Scale-like multiplicative channels use multiplication:

  result = prev * (value / default) ^ influence

- Other channels use addition:

  result = prev + (value - default) * influence

Inclusion of default in the computation ensures that combining
keyframed default values of properties keeps the default state,
even if the default isn't 0 or 1.

Strips with this mode can be keyframed normally in Tweak mode,
except that for quaternion rotation keyframing always inserts
all 4 channels, and the channel value sliders on the left side
of Graph/Action editors won't insert keys without Auto Key.
Quaternion keys are also automatically normalized.

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

5 months agoKeyframing: refactor insertion code to allow property-global NLA tweaks.
Alexander Gavrilov [Tue, 8 Jan 2019 15:49:38 +0000 (18:49 +0300)]
Keyframing: refactor insertion code to allow property-global NLA tweaks.

Supporting a strip blending type that treats quaternions as a unit
also means being able to adjust all sub-channels as a unit when
inserting keyframes. This requires refactoring keyframe insertion
code to retrieve array property values for all channels at once,
before iterating over the indices being inserted.

5 months agoFix the active sequencer strip not standing out from selected ones.
Brecht Van Lommel [Mon, 14 Jan 2019 15:07:20 +0000 (16:07 +0100)]
Fix the active sequencer strip not standing out from selected ones.

Set outline contrast back to 2.7 values.

5 months agoBuild environment: fixes for Linux debug libraries build.
Brecht Van Lommel [Mon, 14 Jan 2019 14:09:48 +0000 (15:09 +0100)]
Build environment: fixes for Linux debug libraries build.

5 months agoCleanup: add begin/end iterators to Cycles NodeEnum.
Alex Fuller [Mon, 14 Jan 2019 14:42:54 +0000 (15:42 +0100)]
Cleanup: add begin/end iterators to Cycles NodeEnum.

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

5 months agoFix Cycles node definition typos and incorrect enum value.
Alex Fuller [Mon, 14 Jan 2019 14:41:24 +0000 (15:41 +0100)]
Fix Cycles node definition typos and incorrect enum value.

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

5 months agoUI: fix misaligned eyedropper icon in button.
Harley Acheson [Mon, 14 Jan 2019 14:02:49 +0000 (15:02 +0100)]
UI: fix misaligned eyedropper icon in button.

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

5 months agoUI: fix panel header contents alignment.
Harley Acheson [Mon, 14 Jan 2019 14:02:21 +0000 (15:02 +0100)]
UI: fix panel header contents alignment.

The contents is now properly centered at all zoom levels.

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

5 months agoUI: fix horizontal scrollbar overlapping last item.
Harley Acheson [Mon, 14 Jan 2019 14:01:51 +0000 (15:01 +0100)]
UI: fix horizontal scrollbar overlapping last item.

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

5 months agocleanup last commit
Jacques Lucke [Mon, 14 Jan 2019 13:13:39 +0000 (14:13 +0100)]
cleanup last commit

5 months agoFix T60304, T60301: setting error message in bevel modifier results in double free
Jacques Lucke [Mon, 14 Jan 2019 13:10:33 +0000 (14:10 +0100)]
Fix T60304, T60301: setting error message in bevel modifier results in double free

5 months agoFix T60441: entering hex color in picker gives wrong result.
Brecht Van Lommel [Mon, 14 Jan 2019 12:09:06 +0000 (13:09 +0100)]
Fix T60441: entering hex color in picker gives wrong result.

5 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Mon, 14 Jan 2019 11:43:34 +0000 (12:43 +0100)]
Merge branch 'blender2.7'

5 months agoFix T55589: drawing strokes with Microsoft surface pen misses first part.
Christopher Peerman [Mon, 14 Jan 2019 11:15:59 +0000 (12:15 +0100)]
Fix T55589: drawing strokes with Microsoft surface pen misses first part.

This disables touch gesture recognition in Blender, avoiding any initial delay
when drawing with grease pencil, texture paint, etc.

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

5 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Mon, 14 Jan 2019 11:13:10 +0000 (12:13 +0100)]
Merge branch 'blender2.7'