blender.git
15 months agoMerge branch 'master' into blender2.8
Philipp Oeser [Wed, 9 May 2018 13:08:13 +0000 (15:08 +0200)]
Merge branch 'master' into blender2.8

15 months agoDraw manager: Implement point selection modes for particle edit mode
Sergey Sharybin [Wed, 9 May 2018 12:59:29 +0000 (14:59 +0200)]
Draw manager: Implement point selection modes for particle edit mode

15 months agoDraw manager: Initial implementation of key points visualization
Sergey Sharybin [Wed, 9 May 2018 12:08:44 +0000 (14:08 +0200)]
Draw manager: Initial implementation of key points visualization

Does all points all the time, ignoring the setting in viewport header.
This is to be addressed by the next commit.

15 months agoDraw manager: Start using more explicit API for particle edit mode
Sergey Sharybin [Wed, 9 May 2018 09:14:27 +0000 (11:14 +0200)]
Draw manager: Start using more explicit API for particle edit mode

15 months agoModifiers: ported Hook DerivedMesh → Mesh
Christian Hubert [Wed, 9 May 2018 10:38:52 +0000 (12:38 +0200)]
Modifiers: ported Hook DerivedMesh → Mesh

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

15 months agoFix T54992: Lattice modifier on another Lattice object does not take the
Philipp Oeser [Tue, 8 May 2018 09:05:42 +0000 (11:05 +0200)]
Fix T54992: Lattice modifier on another Lattice object does not take the
Influence vertexgroup into account

15 months agoBKE_id_free(): avoid UI and DEG calls when tagged with LIB_TAG_NO_MAIN
Sybren A. Stüvel [Wed, 9 May 2018 12:36:04 +0000 (14:36 +0200)]
BKE_id_free(): avoid UI and DEG calls when tagged with LIB_TAG_NO_MAIN

This prevents threading issues & crashes from modifiers that create
temporary meshes.

15 months agoMerge branch 'master' into blender2.8
Philipp Oeser [Wed, 9 May 2018 12:37:25 +0000 (14:37 +0200)]
Merge branch 'master' into blender2.8

15 months agoEditMesh: multi-edit merge
Campbell Barton [Wed, 9 May 2018 12:32:15 +0000 (14:32 +0200)]
EditMesh: multi-edit merge

D3226 by @pragma37

Note: edited so first/last option only applies to active mesh
since this doesn't make much sense to apply across objects.

15 months agoFix T54997: simple typo in property description
Philipp Oeser [Wed, 9 May 2018 12:26:47 +0000 (14:26 +0200)]
Fix T54997: simple typo in property description

15 months agoFix crash moving grease pencil frames
Campbell Barton [Wed, 9 May 2018 12:09:05 +0000 (14:09 +0200)]
Fix crash moving grease pencil frames

15 months agoCleanup: unused vars
Campbell Barton [Wed, 9 May 2018 12:08:56 +0000 (14:08 +0200)]
Cleanup: unused vars

15 months agoCleanup: quiet shadow warning
Campbell Barton [Wed, 9 May 2018 11:53:01 +0000 (13:53 +0200)]
Cleanup: quiet shadow warning

15 months agoMulti-object edit: MESH_OT_beautify_fill by Remi van der Laan
Dalai Felinto [Wed, 9 May 2018 11:42:31 +0000 (13:42 +0200)]
Multi-object edit: MESH_OT_beautify_fill by Remi van der Laan

Maniphest Tasks: T54643, T54641
Differential Revision: https://developer.blender.org/D3291

15 months agoMulti-object edit: MESH_OT_loop_multi_select by Oleg
Dalai Felinto [Wed, 9 May 2018 11:39:05 +0000 (13:39 +0200)]
Multi-object edit: MESH_OT_loop_multi_select by Oleg

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3245

15 months agoT55008: Migrating RE-Collection data to Scene data
Jeroen Bakker [Wed, 9 May 2018 11:30:27 +0000 (13:30 +0200)]
T55008: Migrating RE-Collection data to Scene data

in Scene DNA is available in scene.display New DNA Struct DisplayData
Added RNA (scene.display).

We already have scene.display_settings which contains non viewpoert
specific color management settings. I did not merge those two.

Patch should be in line with the ideas that @brecht wrote in T55008.

As I am not in detail aware of the decisions that have been made for the override feature I want a short review if it is in line with the plans.

Reviewers: brecht, dfelinto

Reviewed By: brecht

Subscribers: brecht

Tags: #code_quest, #bf_blender_2.8

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

15 months agoMulti object edit: MESH_OT_region_to_loop by Oleg
Dalai Felinto [Wed, 9 May 2018 11:02:25 +0000 (13:02 +0200)]
Multi object edit: MESH_OT_region_to_loop by Oleg

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3248

15 months agoMulti-Object Pose: POSE_OT_select_parent by Harsha
Dalai Felinto [Wed, 9 May 2018 10:48:35 +0000 (12:48 +0200)]
Multi-Object Pose: POSE_OT_select_parent by Harsha

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

15 months agoModifier stack: ShrinkWrap: move to mesh-based BVHTree code.
Bastien Montagne [Wed, 9 May 2018 10:51:03 +0000 (12:51 +0200)]
Modifier stack: ShrinkWrap: move to mesh-based BVHTree code.

Now only subsurf still needs some DM...

15 months agoRemove Frame Server
Campbell Barton [Wed, 9 May 2018 10:43:16 +0000 (12:43 +0200)]
Remove Frame Server

This feature is limited (only byte PPM output, no multi-view),
only works with specific configurations.

This also causes some maintenance overhead
when testing changes to the render pipeline.

15 months agoCleanup/refactor: Move get_mesh_eval_for_modifier from MOD_util to BKE_modifier.
Bastien Montagne [Wed, 9 May 2018 10:44:22 +0000 (12:44 +0200)]
Cleanup/refactor: Move get_mesh_eval_for_modifier from MOD_util to BKE_modifier.

Because some modifiers' actual code is in BKE... Also renamed to more
BKE-valid name BKE_modifier_get_evaluated_mesh_from_object.

15 months agoSurface Deform mod: removed some stuff that shouldn't have been committed
Sybren A. Stüvel [Wed, 9 May 2018 10:41:32 +0000 (12:41 +0200)]
Surface Deform mod: removed some stuff that shouldn't have been committed

15 months agoMesh Deform modifier: also show result while editing the deformation mesh
Sybren A. Stüvel [Wed, 9 May 2018 10:23:10 +0000 (12:23 +0200)]
Mesh Deform modifier: also show result while editing the deformation mesh

There is still an issue with the modified mesh not being updated until you
disable and re-enable the modifier. However, after that it'll now also work
while editing the deformation mesh.

15 months agoFix (unreported) bug in BVHTree 'free tessfaces' flag setting.
Bastien Montagne [Wed, 9 May 2018 10:36:05 +0000 (12:36 +0200)]
Fix (unreported) bug in BVHTree 'free tessfaces' flag setting.

Same issue as in DM-based on, so follow up of rBf3efa9e15f58...

15 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Wed, 9 May 2018 10:35:16 +0000 (12:35 +0200)]
Merge branch 'master' into blender2.8

15 months agoFix (unreported) bug in BVHTree 'free tessfaces' flag setting.
Bastien Montagne [Wed, 9 May 2018 10:33:21 +0000 (12:33 +0200)]
Fix (unreported) bug in BVHTree 'free tessfaces' flag setting.

Could lead to atempt to free NULL pointer, and/or memory leak.

15 months agoModifiers: ported Surface Deform to Mesh
Sybren A. Stüvel [Wed, 9 May 2018 09:33:32 +0000 (11:33 +0200)]
Modifiers: ported Surface Deform to Mesh

The modifier performed the 'bind' operation not in the bind operator,
but delayed in the mesh evaluation. This saved the result in a CoW copy
instead of in the actual modifier data. The binding operator now follows
the same approach as Mesh Deform: it forces the modifiers to run on the
real (non-CoW) data, making it possible for the modifier to store the
binding data.

This commit also ports the usage of DerivedMesh to Mesh.

15 months agoMulti-Object-Editing: MESH_OT_separate by Nick Milios
Dalai Felinto [Wed, 9 May 2018 10:04:43 +0000 (12:04 +0200)]
Multi-Object-Editing: MESH_OT_separate by Nick Milios

Patch description:

- Reports "Nothing selected" only when all objects has no selection
  and it is in  Separate type(Mode)
- Tested all types (Seperate/By Material/By loose parts)
- Instead of using

```
BKE_view_layer_array_from_objects_in_edit_mode_unique_data
```

I used

```
BKE_view_layer_array_from_bases_in_edit_mode_unique_data
```

Because it needs the "Base" not the "Object" itself.

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3267

15 months agoMulti-Object-Editing: MESH_OT_vert_connect by Nick Milios
Dalai Felinto [Wed, 9 May 2018 09:37:41 +0000 (11:37 +0200)]
Multi-Object-Editing: MESH_OT_vert_connect by Nick Milios

With changes: Skip loop when totvertsel is not 2

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3273

15 months agoEditMesh: multi object spin support by Falk David
Fulk33 [Wed, 9 May 2018 09:10:00 +0000 (11:10 +0200)]
EditMesh: multi object spin support by Falk David

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3279

15 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 9 May 2018 09:25:35 +0000 (11:25 +0200)]
Merge branch 'master' into blender2.8

15 months agoMSVC: resolve near/far issue take2
Campbell Barton [Wed, 9 May 2018 09:20:12 +0000 (11:20 +0200)]
MSVC: resolve near/far issue take2

Previous fix failed w/ compositor,
tested on MSVC2015, full build.

15 months agoMulti-Object-Editing : Support for Grid Fill by Falk David
Dalai Felinto [Wed, 9 May 2018 08:41:37 +0000 (10:41 +0200)]
Multi-Object-Editing : Support for Grid Fill by Falk David

With minor changes:
* Have BMOperator declaration close to its initialization.
* Move const use_prepare and const use_interp_simple outside the for loop.

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3222

15 months agoMulti-Object-Editing: MESH_OT_edges_select_sharp by Jefferson Rausseo
Dalai Felinto [Wed, 9 May 2018 08:34:52 +0000 (10:34 +0200)]
Multi-Object-Editing: MESH_OT_edges_select_sharp by Jefferson Rausseo

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3280

15 months agoDraw manager: Initial implementation of particle edit mode
Sergey Sharybin [Tue, 8 May 2018 15:11:42 +0000 (17:11 +0200)]
Draw manager: Initial implementation of particle edit mode

Gets edit more from the current object and displays it as a path.
this is how both hair and particle edit modes are supposed to work.

This only covers path itself, it doesn't do anything like keys
visualization or selection. However, it's already possible to
comb and such.

Only implements particle mode. There are also some settings to
do soft body and cloth. No idea yet what that all is about.

Copy-on-write is not supported either, this is due to some
edit mode ownership problems which are to be addressed from
dependency graph side.

Shading is dead-simple: uses tangent as a color. This is where
i hope to get some help from Clément.

15 months agoDraw manager: Use utility function to get particle edit mode
Sergey Sharybin [Tue, 8 May 2018 15:10:42 +0000 (17:10 +0200)]
Draw manager: Use utility function to get particle edit mode

Makes it more local where we have to do all the tricky checks.

15 months agoDraw manager: Add support for cached particle edit paths
Sergey Sharybin [Tue, 8 May 2018 14:57:08 +0000 (16:57 +0200)]
Draw manager: Add support for cached particle edit paths

Before it was only supporting hair strand paths editing.

15 months agoDraw manager: Correct edit mode check for particles
Sergey Sharybin [Tue, 8 May 2018 14:26:06 +0000 (16:26 +0200)]
Draw manager: Correct edit mode check for particles

15 months agoDraw manager: Ignore particles when object is in particle edit mode
Sergey Sharybin [Tue, 8 May 2018 14:17:33 +0000 (16:17 +0200)]
Draw manager: Ignore particles when object is in particle edit mode

15 months agoDraw manager: allow creation of hair batch cache from edit mode
Sergey Sharybin [Tue, 8 May 2018 14:16:53 +0000 (16:16 +0200)]
Draw manager: allow creation of hair batch cache from edit mode

15 months agoDraw manager: De-duplicate segment counting
Sergey Sharybin [Tue, 8 May 2018 14:09:36 +0000 (16:09 +0200)]
Draw manager: De-duplicate segment counting

15 months agoDraw manager: Completely de-duplicate strands caching for parent and particles
Sergey Sharybin [Tue, 8 May 2018 13:37:23 +0000 (15:37 +0200)]
Draw manager: Completely de-duplicate strands caching for parent and particles

Will make it simple to add strands from edit mode as well.

15 months agoDraw manager: Move parent particle cache fill into an own function
Sergey Sharybin [Tue, 8 May 2018 13:02:11 +0000 (15:02 +0200)]
Draw manager: Move parent particle cache fill into an own function

Should make it fairly simple to make it re-usable by children particles.

15 months agoDraw manager: Use single function to calculate particles UVs
Sergey Sharybin [Tue, 8 May 2018 12:36:11 +0000 (14:36 +0200)]
Draw manager: Use single function to calculate particles UVs

Will allow us to merge two code paths more easily.

15 months agoDraw manager: Move emit_from checks to interpolation functions
Sergey Sharybin [Tue, 8 May 2018 12:26:29 +0000 (14:26 +0200)]
Draw manager: Move emit_from checks to interpolation functions

Keeps main function shorter.

15 months agoDraw manager: Move UVs interpolation of child particles to a function
Sergey Sharybin [Tue, 8 May 2018 12:23:55 +0000 (14:23 +0200)]
Draw manager: Move UVs interpolation of child particles to a function

15 months agoDraw manager: De-duplicate calculation of parent UVs
Sergey Sharybin [Tue, 8 May 2018 12:06:00 +0000 (14:06 +0200)]
Draw manager: De-duplicate calculation of parent UVs

15 months agoDraw manager: Make parent and child particles code to be more equal
Sergey Sharybin [Tue, 8 May 2018 11:55:23 +0000 (13:55 +0200)]
Draw manager: Make parent and child particles code to be more equal

Make parent UVs calculation for simple children to match another block.

15 months agoDraw manager: More meaningful variable name
Sergey Sharybin [Tue, 8 May 2018 10:40:07 +0000 (12:40 +0200)]
Draw manager: More meaningful variable name

15 months agoDraw manager: Reduce indentation level in particle batch populate
Sergey Sharybin [Tue, 8 May 2018 10:36:20 +0000 (12:36 +0200)]
Draw manager: Reduce indentation level in particle batch populate

15 months agoMulti-Object-Editing : Support for MESH_OT_rip_edge by Miguel Pozo
Dalai Felinto [Wed, 9 May 2018 08:27:35 +0000 (10:27 +0200)]
Multi-Object-Editing : Support for MESH_OT_rip_edge by Miguel Pozo

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3268

15 months agoModifier stack: remove last usage of DM in WeightVGProximity .
Bastien Montagne [Wed, 9 May 2018 08:10:30 +0000 (10:10 +0200)]
Modifier stack: remove last usage of DM in WeightVGProximity .

15 months agoMulti-Object-Editing: select_non_manifold by Jefferson Rausseo
Dalai Felinto [Wed, 9 May 2018 07:59:26 +0000 (09:59 +0200)]
Multi-Object-Editing: select_non_manifold by Jefferson Rausseo

Maniphest Tasks: T54643
Differential Revision: https://developer.blender.org/D3232

15 months agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 9 May 2018 08:02:33 +0000 (10:02 +0200)]
Merge branch 'master' into blender2.8

15 months agoMSVC: remove hack for near/far name collision
Campbell Barton [Wed, 9 May 2018 08:00:55 +0000 (10:00 +0200)]
MSVC: remove hack for near/far name collision

windows headers define these, conflicting w/ View3D.near/far.

15 months agoColor: Combine/Separate YCbCrA node default to rec. 709
Aaron Carlisle [Wed, 9 May 2018 02:24:58 +0000 (22:24 -0400)]
Color: Combine/Separate YCbCrA node default to rec. 709

This commit is part of T54798

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

15 months agoBKE: bvhutils: Always return NULL when the BVHtree has no leafs.
Germano [Tue, 8 May 2018 23:31:26 +0000 (20:31 -0300)]
BKE: bvhutils: Always return NULL when the BVHtree has no leafs.

BLI_bvhkdop functions were not made to work with zero-leaf trees.
Perhaps a better solution would be to modify BLI_bvhkdop to work with zero leaf trees.
But this solution of returning NULL was already used for bvhtrees of looptris.

15 months agoED_transform: Port ED_transform_snap_object to new Mesh-based system.
Germano [Tue, 8 May 2018 23:04:32 +0000 (20:04 -0300)]
ED_transform: Port ED_transform_snap_object to new Mesh-based system.

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

15 months agoBKE: bvhutils: Port bvhtree_from_mesh_get to take a Mesh param instead of a DerivedMesh.
Germano [Tue, 8 May 2018 23:00:51 +0000 (20:00 -0300)]
BKE: bvhutils: Port bvhtree_from_mesh_get to take a Mesh param instead of a DerivedMesh.

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

15 months agoExtrude Widget: with/without axis constraint
Campbell Barton [Tue, 8 May 2018 18:28:40 +0000 (20:28 +0200)]
Extrude Widget: with/without axis constraint

15 months agoExtrude Widget: tweak draw style
Campbell Barton [Tue, 8 May 2018 18:14:50 +0000 (20:14 +0200)]
Extrude Widget: tweak draw style

Use filled circle for redo

15 months agoCleanup: naming (prefer len over num for new code)
Campbell Barton [Tue, 8 May 2018 17:36:02 +0000 (19:36 +0200)]
Cleanup: naming (prefer len over num for new code)

15 months agoCleanup: mesh_runtime naming
Campbell Barton [Tue, 8 May 2018 17:26:36 +0000 (19:26 +0200)]
Cleanup: mesh_runtime naming

- BKE_mesh_get_looptri_num        -> BKE_mesh_runtime_looptri_len
- BKE_mesh_runtime_recalc_looptri -> BKE_mesh_runtime_looptri_recalc
- BKE_mesh_get_looptri_array      -> BKE_mesh_runtime_looptri_ensure

15 months agoMissed last commit
Campbell Barton [Tue, 8 May 2018 17:16:33 +0000 (19:16 +0200)]
Missed last commit

15 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 8 May 2018 17:09:35 +0000 (19:09 +0200)]
Merge branch 'master' into blender2.8

15 months agoModifier stack: partial port of ShrinkWrap to new Mesh-based system.
Bastien Montagne [Tue, 8 May 2018 17:04:12 +0000 (19:04 +0200)]
Modifier stack: partial port of ShrinkWrap to new Mesh-based system.

Partial only, complete depends on BVHTree helper updates, and subsurf
updates.

15 months agoModifier stack: Port Warp to new Mesh-based system.
Bastien Montagne [Tue, 8 May 2018 16:41:43 +0000 (18:41 +0200)]
Modifier stack: Port Warp to new Mesh-based system.

15 months agoModifier stack: port Mask to new Mesh-based system.
Bastien Montagne [Tue, 8 May 2018 16:19:28 +0000 (18:19 +0200)]
Modifier stack: port Mask to new Mesh-based system.

15 months agoCleanup: includes
Campbell Barton [Tue, 8 May 2018 16:01:47 +0000 (18:01 +0200)]
Cleanup: includes

15 months agoCleanup: move mesh conversion into own function
Campbell Barton [Tue, 8 May 2018 15:44:54 +0000 (17:44 +0200)]
Cleanup: move mesh conversion into own function

15 months agoModifier stack: Port Caqst to new Mesh-based system.
Bastien Montagne [Tue, 8 May 2018 15:52:24 +0000 (17:52 +0200)]
Modifier stack: Port Caqst to new Mesh-based system.

15 months agoCollections: remove per collection and view layer engine overrides.
Brecht Van Lommel [Tue, 8 May 2018 13:57:20 +0000 (15:57 +0200)]
Collections: remove per collection and view layer engine overrides.

This will be handled by the new view layer override system which will
store data elsewhere, removing the code already for easier refactoring.

15 months agoCleanup: consistent BKE_mesh naming
Campbell Barton [Tue, 8 May 2018 15:28:43 +0000 (17:28 +0200)]
Cleanup: consistent BKE_mesh naming

15 months agoCleanup: use bool for BKE_mesh_new_from_object
Campbell Barton [Tue, 8 May 2018 15:17:40 +0000 (17:17 +0200)]
Cleanup: use bool for BKE_mesh_new_from_object

15 months agoCleanup: rename variables
Campbell Barton [Tue, 8 May 2018 15:15:23 +0000 (17:15 +0200)]
Cleanup: rename variables

DerivedMesh had some odd conventions, remove from BKE_mesh.

15 months agoCleanup: use 'nomain' when not in library data
Campbell Barton [Tue, 8 May 2018 15:06:30 +0000 (17:06 +0200)]
Cleanup: use 'nomain' when not in library data

Rename only.

15 months agoCleanup: whitespace, duplicate includes
Campbell Barton [Tue, 8 May 2018 14:57:07 +0000 (16:57 +0200)]
Cleanup: whitespace, duplicate includes

15 months agoModifier stack: Port Smooth to new Mesh-based system.
Bastien Montagne [Tue, 8 May 2018 14:42:01 +0000 (16:42 +0200)]
Modifier stack: Port Smooth to new Mesh-based system.

15 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 8 May 2018 14:06:32 +0000 (16:06 +0200)]
Merge branch 'master' into blender2.8

Conflicts:
source/blender/modifiers/intern/MOD_dynamicpaint.c
source/blender/modifiers/intern/MOD_uvproject.c

15 months agoFix building with latest versions of ffmpeg.
Bastien Montagne [Tue, 8 May 2018 14:00:52 +0000 (16:00 +0200)]
Fix building with latest versions of ffmpeg.

Some years-old deprecated stuff has now been removed.

Correct solution is probably to use valid defines etc. in own code, but
this is more FFMEPG maintainer task (since it also may change how old
FFMPEG we do support...).

15 months agoOrientation for 3D cursor
Campbell Barton [Tue, 8 May 2018 12:18:09 +0000 (14:18 +0200)]
Orientation for 3D cursor

Currently set when setting the cursor location,
optionally used as an orientation type.

Intended for use by tools too.

See: D3208

15 months agoFix (unreported) bloody modifiers messing with ID user count in copy.
Bastien Montagne [Tue, 8 May 2018 13:27:10 +0000 (15:27 +0200)]
Fix (unreported) bloody modifiers messing with ID user count in copy.

User count of IDs is handled by higher-level, generic function,
low-level copydata functions *MUST NOT* touch them anymore, ever!

15 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 8 May 2018 13:20:18 +0000 (15:20 +0200)]
Merge branch 'master' into blender2.8

15 months agoCleanup: Nuke empty dummy wrappers around modifier_copyData_generic().
Bastien Montagne [Tue, 8 May 2018 13:04:10 +0000 (15:04 +0200)]
Cleanup: Nuke empty dummy wrappers around modifier_copyData_generic().

This also changes signature of modifier copy callback, first (source)
parameter is now a const, which is saner anyway!

15 months agoEevee: Fix bug with transparent object + volume rendering.
Clément Foucault [Tue, 8 May 2018 12:31:08 +0000 (14:31 +0200)]
Eevee: Fix bug with transparent object + volume rendering.

This was because the main_fb was not bound back to be updated.
Following draw calls were drawn without depth buffer.

15 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Tue, 8 May 2018 12:22:46 +0000 (14:22 +0200)]
Merge branch 'master' into blender2.8

15 months agoModifiers: sanitize/cleanup modifiers' copying & freeing code.
Bastien Montagne [Tue, 8 May 2018 12:21:02 +0000 (14:21 +0200)]
Modifiers: sanitize/cleanup modifiers' copying & freeing code.

Should also fix T55000: Crash with hooks and curves in Cycles render.

15 months agoFix T54999: error when entering edit mode in texture shading
Jeroen Bakker [Tue, 8 May 2018 12:00:27 +0000 (14:00 +0200)]
Fix T54999: error when entering edit mode in texture shading

When entering edit mode the texture coordinates is not calculated by
drawcachemesh. For now fallback to solid mode. This gives wrong
artifacts when disabling overlays when in edit mode. We should make it
possible to calculate the UVLOOP from bmesh. This will be done in a next
patch

15 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 8 May 2018 11:33:48 +0000 (13:33 +0200)]
Merge branch 'master' into blender2.8

15 months agoCleanup: quiet -Warray-bounds warning
Campbell Barton [Tue, 8 May 2018 11:32:52 +0000 (13:32 +0200)]
Cleanup: quiet -Warray-bounds warning

15 months agoWeightVG modifiers: Cleanup, add asserts to validate expected data status...
Bastien Montagne [Tue, 8 May 2018 10:58:01 +0000 (12:58 +0200)]
WeightVG modifiers: Cleanup, add asserts to validate expected data status...

15 months agoClenup: typos.
Bastien Montagne [Tue, 8 May 2018 10:25:51 +0000 (12:25 +0200)]
Clenup: typos.

15 months agoModifiers: pass the ob->data to the modifier if the mesh param is NULL
Sybren A. Stüvel [Tue, 8 May 2018 10:34:01 +0000 (12:34 +0200)]
Modifiers: pass the ob->data to the modifier if the mesh param is NULL

This enables the modifiers to access things like vertex groups. Care should
be taken to not modifier the mesh itself in this case.

15 months agoArmature: Add back Stick bone draw type.
Clément Foucault [Tue, 8 May 2018 10:05:06 +0000 (12:05 +0200)]
Armature: Add back Stick bone draw type.

The actual code is a bit convoluted but allows good and "pseudo efficient"
drawing. (pseudo efficient because rendering instances with that amount of
vertices is really inneficient. We should go full procedural but need to
have bufferTexture implemented first) But drawing speed is not a bottleneck
here and it's already a million time less crappy than the old (2.79) immediate
mode method.

Instead of drawing actual wires with different width we render a triangle
fan batch (containing 3 fans: bone, head, tail) which is then oriented in
screen space to the bone direction. We then interpolate a float value
accross vertices giving us a nice blend factor to blend the colors and
gives us really smooth interpolation inside the bone.

The outside edge still being geometry will be antialiased by MSAA if enabled.

15 months agoModifier stack: port Displace to new Mesh-based system.
Bastien Montagne [Tue, 8 May 2018 10:00:38 +0000 (12:00 +0200)]
Modifier stack: port Displace to new Mesh-based system.

15 months agoFix recent Curve porting: mesh pointer may also be NULL in non-EditMode case.
Bastien Montagne [Tue, 8 May 2018 09:59:48 +0000 (11:59 +0200)]
Fix recent Curve porting: mesh pointer may also be NULL in non-EditMode case.

15 months agoMod_util: Add back vcos parameter to get_texture_coords_mesh().
Bastien Montagne [Tue, 8 May 2018 09:57:34 +0000 (11:57 +0200)]
Mod_util: Add back vcos parameter to get_texture_coords_mesh().

Now we use vcos when provided, and fall back to mesh vertices' co
otherwise.

Deform modifiers usually do not have up-to-date coordinates in Mesh
itself, only in given vcos array!

15 months agoMesh normals: clear runtime dirty normal flag also when computing clnors.
Bastien Montagne [Tue, 8 May 2018 09:56:31 +0000 (11:56 +0200)]
Mesh normals: clear runtime dirty normal flag also when computing clnors.

15 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 8 May 2018 09:59:22 +0000 (11:59 +0200)]
Merge branch 'master' into blender2.8

15 months agoTracking: Use bmain from context
Sergey Sharybin [Tue, 8 May 2018 09:58:42 +0000 (11:58 +0200)]
Tracking: Use bmain from context