blender.git
20 months agoTransform: Use `isect_ray_seg_v3` instead `dist_squared_ray_to_seg_v3` in the functio...
Germano [Thu, 17 May 2018 01:04:41 +0000 (22:04 -0300)]
Transform: Use `isect_ray_seg_v3` instead `dist_squared_ray_to_seg_v3` in the function that tests the snap on edges.

20 months agoBLI_math_geom: Separate the `isect_ray_seg_v3` from `dist_squared_ray_to_seg_v3`.
Germano [Thu, 17 May 2018 00:36:41 +0000 (21:36 -0300)]
BLI_math_geom: Separate the `isect_ray_seg_v3` from `dist_squared_ray_to_seg_v3`.

20 months agoTransform: Fix bugs for the latest changes to the snap system.
Germano [Thu, 17 May 2018 00:32:52 +0000 (21:32 -0300)]
Transform: Fix bugs for the latest changes to the snap system.

20 months agoEEVEE Scene: Set all variable as overridable
Dalai Felinto [Wed, 16 May 2018 20:25:13 +0000 (22:25 +0200)]
EEVEE Scene: Set all variable as overridable

20 months agoRemove ViewLayer settings - cleanup 2/2
Dalai Felinto [Wed, 16 May 2018 20:03:25 +0000 (22:03 +0200)]
Remove ViewLayer settings - cleanup 2/2

20 months agoRemove ViewLayer settings - cleanup 1/2
Dalai Felinto [Wed, 16 May 2018 19:40:05 +0000 (21:40 +0200)]
Remove ViewLayer settings - cleanup 1/2

20 months agoMove Clay properties into scene
Dalai Felinto [Wed, 16 May 2018 19:28:05 +0000 (21:28 +0200)]
Move Clay properties into scene

Per collection overrides are gone now.

20 months agoMove EEVEE properties into scene
Dalai Felinto [Wed, 16 May 2018 17:34:24 +0000 (19:34 +0200)]
Move EEVEE properties into scene

We handle doversion for the scene properties, but not for the
view layer overrides.

Overrides will be implemented in a different way via dynamic overrides.
For now this data is completely lost.

20 months agoLayer unittest: Disable the override tests
Dalai Felinto [Wed, 16 May 2018 21:12:59 +0000 (23:12 +0200)]
Layer unittest: Disable the override tests

They are failing for some time now, and they will be obsolete soon anyways.

20 months agoCleanup: BKE_bvhuitls: Use a struct rather than re-create each member of it.
Germano [Wed, 16 May 2018 18:26:33 +0000 (15:26 -0300)]
Cleanup: BKE_bvhuitls: Use a struct rather than re-create each member of it.

20 months agoFix crash when duplicating an object type mesh with raycast operation enabled.
Germano [Wed, 16 May 2018 17:28:28 +0000 (14:28 -0300)]
Fix crash when duplicating an object type mesh with raycast operation enabled.

20 months agoTool System: pass space type when setting tool
Campbell Barton [Wed, 16 May 2018 16:59:43 +0000 (18:59 +0200)]
Tool System: pass space type when setting tool

Internal change only, needed because object mode is now in top-bar.

20 months agoCleanup: unused vars
Campbell Barton [Wed, 16 May 2018 17:04:07 +0000 (19:04 +0200)]
Cleanup: unused vars

20 months agoStatic overrides: reduce the amount of instantiated objects when overriding a group.
Bastien Montagne [Wed, 16 May 2018 16:57:24 +0000 (18:57 +0200)]
Static overrides: reduce the amount of instantiated objects when overriding a group.

For now, do not override/instantiate objects used as boneshapes.

Note that this is a rather poor/dirty hack, it seems Spring char groups
still have a lot of other (unused???) shape objects.

Ideally lib groups should be designed more cleanly for the new Static
Override system, putting only really usable objects into 'main' group,
and placing the others in sub-groups, helpers groups, or so...

20 months agoArmature: Fix T55068: Wireframe bones with custom shapes not working in object mode
Clément Foucault [Wed, 16 May 2018 16:40:25 +0000 (18:40 +0200)]
Armature: Fix T55068: Wireframe bones with custom shapes not working in object mode

20 months agoArmature: Cleanup: Remove unused function and use less silly wire drawing.
Clément Foucault [Wed, 16 May 2018 16:01:32 +0000 (18:01 +0200)]
Armature: Cleanup: Remove unused function and use less silly wire drawing.

20 months agoParticle edit: Use proper modifier to get evaluated derived mesh from
Sergey Sharybin [Wed, 16 May 2018 15:45:21 +0000 (17:45 +0200)]
Particle edit: Use proper modifier to get evaluated derived mesh from

20 months agoParticle edit: Fix disappearing child particles when toggling edit mode
Sergey Sharybin [Wed, 16 May 2018 15:14:53 +0000 (17:14 +0200)]
Particle edit: Fix disappearing child particles when toggling edit mode

Going to object edit mode and back to particle edit mode used to loose all
children from being displayed.

20 months agoFix memleak with meshes having IDProps in modifier stack evaluation.
Bastien Montagne [Wed, 16 May 2018 15:35:54 +0000 (17:35 +0200)]
Fix memleak with meshes having IDProps in modifier stack evaluation.

*Always* use BKE_library API to handle IDs allocation and freeing,
unless you have a very, very, very good reason not to do so - and
perfectly know what you are doing.

20 months agoFix again bloody locked proxy bones...
Bastien Montagne [Wed, 16 May 2018 15:23:52 +0000 (17:23 +0200)]
Fix again bloody locked proxy bones...

No idea why that was working this morning, now we do not get CoW tag
anymore (which kind of makes sense since it's set *after* copying
happens...), so just resorting to using the NO_MAIN flag instead.

20 months agoEevee: Fix missing Ambient Occlusion node in add node menu.
Clément Foucault [Wed, 16 May 2018 13:52:04 +0000 (15:52 +0200)]
Eevee: Fix missing Ambient Occlusion node in add node menu.

20 months agoArmature: Fix T55070: Bones relationship lines are offsetted
Clément Foucault [Wed, 16 May 2018 12:53:41 +0000 (14:53 +0200)]
Armature: Fix T55070: Bones relationship lines are offsetted

Was missing object matrix multiplication.

20 months agoGPUShader/DRW: Add Transform Feedback support.
Clément Foucault [Wed, 16 May 2018 10:47:15 +0000 (12:47 +0200)]
GPUShader/DRW: Add Transform Feedback support.

This is a usefull feature that can be used to do a lot of precomputation on
the GPU instead of the CPU.

Implementation is simple and only covers the most usefull case.

How to use:
- Create shader with transform feedback.
- Create a pass with DRW_STATE_TRANS_FEEDBACK.
- Create a target Gwn_VertBuf (make sure it's big enough).
- Create a shading group with DRW_shgroup_transform_feedback_create().
- Add your draw calls to the shading group.
- Render your pass normaly.

Current limitation:
- Only one output buffer.
- Cannot pause/resume tfb rendering to interleave with normal drawcalls.
- Cannot get the number of verts drawn.

20 months agoEevee: Add support for Ambient Occlusion node.
Clément Foucault [Tue, 15 May 2018 15:30:52 +0000 (17:30 +0200)]
Eevee: Add support for Ambient Occlusion node.

20 months agoEevee: Change normal buffer texture format for more precision.
Clément Foucault [Tue, 15 May 2018 10:44:11 +0000 (12:44 +0200)]
Eevee: Change normal buffer texture format for more precision.

This means more accurate SSR with less faceted artifacts.

20 months agoShader Node Editor: Add Closure to RGB convertion node.
Clément Foucault [Mon, 14 May 2018 11:34:54 +0000 (13:34 +0200)]
Shader Node Editor: Add Closure to RGB convertion node.

Patch D3205 by Kanzaki Wataru

Only implemented in Eevee for now. Collapse a closure to RGBA so we can
do NPR stuff on the resulting color.

Use an emission shader to convert the color back to a closure.

Doing this will break PBR and will kill any SSR and SSS effects the shader
the shader rely on. That said screen space refraction and ambient occlusion
are supported due to the way they are implemented.

20 months agoWorkbench: World based studio lighting
Jeroen Bakker [Wed, 16 May 2018 14:42:30 +0000 (16:42 +0200)]
Workbench: World based studio lighting

Disabled shadows for now as the calculation of the light direction is
still to bogus.

20 months agoParticle System: ported most DerivedMesh → Mesh
Sybren A. Stüvel [Tue, 15 May 2018 11:26:40 +0000 (13:26 +0200)]
Particle System: ported most DerivedMesh → Mesh

There are a few places where DerivedMesh is still used, most notably
when calling the (not yet ported) cloth simulation. There is also still
the use of Object.derivedDeform and Object.derivedFinal. Those places are
marked with a TODO.

Some functions in the editors module were copied to accept Mesh. Those
already had 'mesh' in the name; the copies are suffixed with '__real_mesh'
for easy renaming later when the DM-based functionality is removed.

20 months agoMesh: Set deformed_only=1 when copied mesh is from main library
Sybren A. Stüvel [Wed, 16 May 2018 12:33:14 +0000 (14:33 +0200)]
Mesh: Set deformed_only=1 when copied mesh is from main library

20 months agoParticle System: use DEG to get current time in psys_get_particle_state()
Sybren A. Stüvel [Wed, 16 May 2018 14:09:48 +0000 (16:09 +0200)]
Particle System: use DEG to get current time in psys_get_particle_state()

20 months agoParticle System: Pass correct particle index when drawing
Sybren A. Stüvel [Wed, 16 May 2018 14:09:27 +0000 (16:09 +0200)]
Particle System: Pass correct particle index when drawing

Passing the wrong index caused the particles to stop being shown when the
first particle dies.

20 months agofix build error in last commit.
Germano [Wed, 16 May 2018 14:02:54 +0000 (11:02 -0300)]
fix build error in last commit.

20 months agoFix T55076: Hack around to break correct behavior of 2.8 and get back broken-used...
Bastien Montagne [Wed, 16 May 2018 13:41:53 +0000 (15:41 +0200)]
Fix T55076: Hack around to break correct behavior of 2.8 and get back broken-used-as-feature one from 2.7.

Locked bones of proxies should not be editable, at all. But lack of
update from linked rest pose in 2.7 allows to pose and animate locked
bones (not to pose them without animation though, or you'd lose your
pose on next file save & reload).

this is used by artists to always lock all their bones in a rig, so that
proxies fully update when lib rig is modified...

For now, restore that broken behavior in 2.8 by not updating proxies
against lib armature in CoW context (makes sense anyway, we are
currently doing a lot of useless thing when copying data for depsgraph
evaluation!).

20 months agoSnap system: Adds support to Clip Planes and uses a clip plane to simulate occlusion
Germano [Wed, 16 May 2018 13:31:27 +0000 (10:31 -0300)]
Snap system: Adds support to Clip Planes and uses a clip plane to simulate occlusion

This patch adds support for clip_planes (ie ignore what is behind a face)...

The idea is to first execute a raycast to get the polygon to which the mouse cursor points.
Then a snap test is done on the vertices or edges of the polygon.
Then with the normal and location obtained in raycast a new clip_plane is created and the snap over the whole scene is processed ignoring the elements behind the clip_plane.

Here 2 gif of how the previous patch would work on blender2.79:

{F497176}

{F497177}

Reviewers: mont29, campbellbarton

Reviewed By: campbellbarton

Subscribers: bliblubli

Tags: #bf_blender_2.8

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

20 months agoFix T55097: Mesh Deformation modifier is ignoring Vgroup option
Sybren A. Stüvel [Wed, 16 May 2018 13:18:49 +0000 (15:18 +0200)]
Fix T55097: Mesh Deformation modifier is ignoring Vgroup option

20 months agoFix T55082: Add Paint Slots for texture painting not working
Dalai Felinto [Wed, 16 May 2018 12:59:16 +0000 (14:59 +0200)]
Fix T55082: Add Paint Slots for texture painting not working

We changed how this work since the BI removal. But since this operator
was moved to the topbar its poll function was returning false.

20 months agoPopover for snapping settings
Pablo Vazquez [Wed, 16 May 2018 12:23:37 +0000 (14:23 +0200)]
Popover for snapping settings

See T55038

20 months agoMulti-Object-Mode: EditMesh Tool Bevel (MESH_OT_bevel)
milios [Wed, 16 May 2018 11:11:50 +0000 (13:11 +0200)]
Multi-Object-Mode: EditMesh Tool Bevel (MESH_OT_bevel)

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

20 months agoReverted copying mesh->runtime.deformed_only in CDDM_from_mesh_ex
Sybren A. Stüvel [Wed, 16 May 2018 11:06:54 +0000 (13:06 +0200)]
Reverted copying mesh->runtime.deformed_only in CDDM_from_mesh_ex

Doing that copy is the right thing, but only if the mesh has its own
deformed_only flag set correctly. This isn't generally the case, so
keeping dm->deformedOnly = 1 is better.

20 months agoMulti-Object-Editing: MESH_OT_faces_select_linked_flat
Luc Revardel [Wed, 16 May 2018 11:02:36 +0000 (13:02 +0200)]
Multi-Object-Editing: MESH_OT_faces_select_linked_flat

Reviewers: dfelinto

Maniphest Tasks: T54643

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

20 months agoSilence warning about functions having no prototype
Mai Lavelle [Wed, 16 May 2018 10:44:49 +0000 (06:44 -0400)]
Silence warning about functions having no prototype

20 months agoSave 'deform_only' flag in Mesh.runtime
Sybren A. Stüvel [Tue, 15 May 2018 11:26:24 +0000 (13:26 +0200)]
Save 'deform_only' flag in Mesh.runtime

This flag is copied when converting between DM and Mesh.

This flag is set to true in get_mesh(), to mimick the behaviour of
CDDM_from_mesh_ex. This is necessary for the particle system to work
correctly.

20 months agoMulti-Object-Editing: intersect boolean (MESH_OT_intersect_boolean)
milios [Wed, 16 May 2018 10:28:32 +0000 (12:28 +0200)]
Multi-Object-Editing: intersect boolean (MESH_OT_intersect_boolean)

Reviewers: dfelinto (changed test from totvert to totfacesel before committing)

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

20 months agoFix check for MESH_OT_intersect
Dalai Felinto [Wed, 16 May 2018 10:26:26 +0000 (12:26 +0200)]
Fix check for MESH_OT_intersect

20 months agoMulti-Object-Editing: intersect (MESH_OT_intersect)
milios [Wed, 16 May 2018 09:57:36 +0000 (11:57 +0200)]
Multi-Object-Editing: intersect (MESH_OT_intersect)

Reviewers: dfelinto

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

20 months agoModifiers: Port mesh_calc_modifiers from DerivedMesh to Mesh
Mai Lavelle [Fri, 11 May 2018 07:53:52 +0000 (03:53 -0400)]
Modifiers: Port mesh_calc_modifiers from DerivedMesh to Mesh

This ports the main modifier eval loop.

A few things haven't been ported yet: tessface and shapekey related code. As
far as I can tell, shapekey code was never entered into.

https://developer.blender.org/D3342

20 months agoAdd modifier_deformVerts_ensure_normals, modifier_applyModifier_ensure_normals
Mai Lavelle [Tue, 24 Apr 2018 08:08:16 +0000 (04:08 -0400)]
Add modifier_deformVerts_ensure_normals, modifier_applyModifier_ensure_normals

Same as `modwrap_deformVerts` and `modwrap_applyModifier` but for `Mesh`.

20 months agoAdd BKE_mesh_is_valid
Mai Lavelle [Fri, 27 Apr 2018 04:39:53 +0000 (00:39 -0400)]
Add BKE_mesh_is_valid

Non modifying version of `BKE_mesh_validate`, mirrors `DM_is_valid` more
closely. Will be used in port of `mesh_calc_modifiers`
from `DerivedMesh` to `Mesh`.

20 months agoPopover for Pivot Point in top bar
Pablo Vazquez [Wed, 16 May 2018 10:03:22 +0000 (12:03 +0200)]
Popover for Pivot Point in top bar

From T55038

20 months agoMulti-Object-Editing: Weld Edges into Faces(MESH_OT_face_split_by_edges)
milios [Wed, 16 May 2018 09:48:34 +0000 (11:48 +0200)]
Multi-Object-Editing: Weld Edges into Faces(MESH_OT_face_split_by_edges)

Reviewers: dfelinto

Maniphest Tasks: T54643

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

20 months agoParticle system: get current time from depsgraph
Sybren A. Stüvel [Wed, 16 May 2018 08:50:49 +0000 (10:50 +0200)]
Particle system: get current time from depsgraph

This makes the particle animation work again!

20 months agoWorkbench: Read studiolights from USER + SYSTEM datafiles
Jeroen Bakker [Wed, 16 May 2018 07:13:48 +0000 (09:13 +0200)]
Workbench: Read studiolights from USER + SYSTEM datafiles

20 months agoFix navigate widget w/ region overlap
Campbell Barton [Wed, 16 May 2018 06:46:40 +0000 (08:46 +0200)]
Fix navigate widget w/ region overlap

20 months agoFix visible region overlap calculation
Campbell Barton [Wed, 16 May 2018 06:32:02 +0000 (08:32 +0200)]
Fix visible region overlap calculation

Existing code didn't account for top/bottom overlap.

20 months agoTransform: Snap: Make sure if bmesh arrays need to be recalculated.
Germano [Tue, 15 May 2018 19:15:14 +0000 (16:15 -0300)]
Transform: Snap: Make sure if bmesh arrays need to be recalculated.

20 months agoScene raycast: The return index should indicate the polygon instead of the looptri.
Germano [Tue, 15 May 2018 18:38:17 +0000 (15:38 -0300)]
Scene raycast: The return index should indicate the polygon instead of the looptri.

This was the default behavior and could break some addon since looptri is almost useless for the current python API.

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

20 months agoWorkbench: send right event after shadow_shift changes
Jeroen Bakker [Tue, 15 May 2018 17:47:29 +0000 (19:47 +0200)]
Workbench: send right event after shadow_shift changes

20 months agoRevert "BLI_kdopbvh: Reference clip_planes callback to find nearest projected."
Germano [Tue, 15 May 2018 17:37:45 +0000 (14:37 -0300)]
Revert "BLI_kdopbvh: Reference clip_planes callback to find nearest projected."

This reverts commit 717dd4cecd2ea8eaa7b3bbfb5a5c7ec65f0337c0.

It was causing problems in the protactor ruler.
I'll think of a better solution.

20 months agoFix T55032: Redo w/ file saved in edit-mode failed
Campbell Barton [Tue, 15 May 2018 17:30:59 +0000 (19:30 +0200)]
Fix T55032: Redo w/ file saved in edit-mode failed

It's important edit-mode has a step stored for redo to work,
file load now ensures this in a generic way.

20 months agoCleanup: pass the use_depth parameter to the `SnapObjectParams` struct in the ED_tran...
Germano [Tue, 15 May 2018 17:32:30 +0000 (14:32 -0300)]
Cleanup: pass the use_depth parameter to the `SnapObjectParams` struct in the ED_transform_snap_object_project_view3d_mixed.

20 months agoBLI_kdopbvh: Reference clip_planes callback to find nearest projected.
Germano [Tue, 15 May 2018 17:14:25 +0000 (14:14 -0300)]
BLI_kdopbvh: Reference clip_planes callback to find nearest projected.

Clip_planes are an important parameter to be used in callbacks.

20 months agoCOW Fix: VIEW3D_OT_select_lasso now works for Pose Bones. Other modes untested.
Joshua Leung [Tue, 15 May 2018 17:13:15 +0000 (19:13 +0200)]
COW Fix: VIEW3D_OT_select_lasso now works for Pose Bones. Other modes untested.

20 months agoBLI_math: Added isect_point_planes_v3_negated function.
Germano [Tue, 15 May 2018 17:10:41 +0000 (14:10 -0300)]
BLI_math: Added isect_point_planes_v3_negated function.

20 months agoFix POST_OT_hide/reveal
Joshua Leung [Tue, 15 May 2018 17:08:00 +0000 (19:08 +0200)]
Fix POST_OT_hide/reveal

Apparently they weren't actually working, despite seemingly working
when tested earlier. Argh!

20 months agoFix: POSE_OT_visual_transform_apply now works with Copy on Write
Joshua Leung [Tue, 15 May 2018 16:39:13 +0000 (18:39 +0200)]
Fix: POSE_OT_visual_transform_apply now works with Copy on Write

20 months agoCOW Fix: Muting constraints or changing influence did not properly refresh
Joshua Leung [Tue, 15 May 2018 16:34:08 +0000 (18:34 +0200)]
COW Fix: Muting constraints or changing influence did not properly refresh

We need to manually do a copy on write tag here, or else nothing will happen

20 months agoRemove G.main usage
Joshua Leung [Tue, 15 May 2018 16:31:39 +0000 (18:31 +0200)]
Remove G.main usage

20 months agoCopy on write: VIEW3D_OT_clear_render_border + rna
Dalai Felinto [Tue, 15 May 2018 16:19:08 +0000 (18:19 +0200)]
Copy on write: VIEW3D_OT_clear_render_border + rna

20 months agoCopy on write: VIEW3D_OT_render_border
Dalai Felinto [Tue, 15 May 2018 16:02:29 +0000 (18:02 +0200)]
Copy on write: VIEW3D_OT_render_border

Drawing is using the original scene (which shouldn't), but regardless
this force tagging to work.

20 months agoCleanup: Pass `Snap Object Params * params` to` iter_snap_objects`.
Germano [Tue, 15 May 2018 15:44:37 +0000 (12:44 -0300)]
Cleanup: Pass `Snap Object Params * params` to` iter_snap_objects`.

And remove unnecessary `defaulf:` labels.

20 months agoFix Cycles and viewport outline mismatch due to changed sensor size.
Brecht Van Lommel [Tue, 15 May 2018 15:32:16 +0000 (17:32 +0200)]
Fix Cycles and viewport outline mismatch due to changed sensor size.

20 months agoFix Cycles motion blur not working with CoW disabled.
Brecht Van Lommel [Tue, 15 May 2018 15:21:08 +0000 (17:21 +0200)]
Fix Cycles motion blur not working with CoW disabled.

Not so important but convenient for testing, and makes the Cycles tests
pass again for now.

20 months agoFix mistake in recent outliner rebuild change.
Brecht Van Lommel [Tue, 15 May 2018 15:07:13 +0000 (17:07 +0200)]
Fix mistake in recent outliner rebuild change.

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

20 months agoFix assert using '//' on an unsaved file
Campbell Barton [Tue, 15 May 2018 15:27:36 +0000 (17:27 +0200)]
Fix assert using '//' on an unsaved file

Annoying for debug builds.

20 months agoParticle edit: Fix generation of KD tree for emitters
Sergey Sharybin [Tue, 15 May 2018 14:15:13 +0000 (16:15 +0200)]
Particle edit: Fix generation of KD tree for emitters

Fixes crahs using puff brush with copy-on-write.

20 months agoparticle edit: Fix crash when using without copy-on-write
Sergey Sharybin [Tue, 15 May 2018 14:00:08 +0000 (16:00 +0200)]
particle edit: Fix crash when using without copy-on-write

20 months agoParticles: Fix uninitialized child orco passed to modifiers
Sergey Sharybin [Tue, 15 May 2018 13:56:40 +0000 (15:56 +0200)]
Particles: Fix uninitialized child orco passed to modifiers

Wrong cleanup done in 51b796ff152.

20 months agoParticle edit: Need to check DONE flag from evaluated psys
Sergey Sharybin [Tue, 15 May 2018 12:50:24 +0000 (14:50 +0200)]
Particle edit: Need to check DONE flag from evaluated psys

20 months agoParticle edit: Support children particles display with copy on write
Sergey Sharybin [Tue, 15 May 2018 12:38:02 +0000 (14:38 +0200)]
Particle edit: Support children particles display with copy on write

20 months agoDepsgraph: Forbid flush across scene->geometry operations
Sergey Sharybin [Tue, 15 May 2018 12:35:24 +0000 (14:35 +0200)]
Depsgraph: Forbid flush across scene->geometry operations

This relations is only to force geometry evaluation to happen
after scene's CoW is done. it was never meant to update geometry
when scene is being tagged.

20 months agoDepsgraph: Keep track of original particle system
Sergey Sharybin [Tue, 15 May 2018 11:08:06 +0000 (13:08 +0200)]
Depsgraph: Keep track of original particle system

Allows to have quicker lookup in particle edit mode.

20 months agoParticle edit: Add missing looking tag in cut brush
Sergey Sharybin [Tue, 15 May 2018 10:52:54 +0000 (12:52 +0200)]
Particle edit: Add missing looking tag in cut brush

20 months agoParticle edit: Allow children to be visible in edit mode
Sergey Sharybin [Tue, 15 May 2018 10:46:33 +0000 (12:46 +0200)]
Particle edit: Allow children to be visible in edit mode

Follows tool settings, tested without copy-on-write.

Enabling copy-on-write still needs verification and likely some fixing.

20 months agoParticle edit: Move cache update to particle batch cache implementation
Sergey Sharybin [Tue, 15 May 2018 10:44:55 +0000 (12:44 +0200)]
Particle edit: Move cache update to particle batch cache implementation

The idea is to allow "regular" strands to update edit cache and hence
get the final update strands.

20 months agoDraw manager: Pass object to hair batch cache
Sergey Sharybin [Tue, 15 May 2018 10:38:49 +0000 (12:38 +0200)]
Draw manager: Pass object to hair batch cache

Currently unused, but is required for an upcoming work.

20 months agoParticle edit: Make check to work within copy-on-write concept
Sergey Sharybin [Tue, 15 May 2018 10:34:18 +0000 (12:34 +0200)]
Particle edit: Make check to work within copy-on-write concept

Not fully optimal, we can probably store pointer to original psys
similar to ID's orig_id.

20 months agoParticle edit: Edit path invalidate should trigger particle system path re-cache
Sergey Sharybin [Tue, 15 May 2018 10:32:01 +0000 (12:32 +0200)]
Particle edit: Edit path invalidate should trigger particle system path re-cache

Don't try to bend existing design, just follow it. It's not nice, but is
working. Just bring it back, then repeal and replace system as a whole,
making sure every bit is working according to a design.

Such quick patches only trying to make local sense of a system, defeating
it's design.

20 months agoParticle edit: Restore weird-looking conditions in evaluation
Sergey Sharybin [Tue, 15 May 2018 09:48:33 +0000 (11:48 +0200)]
Particle edit: Restore weird-looking conditions in evaluation

They might be looking weird, but they match conditions when children particles
are to be re-calculated for particle edit.

20 months agoParticle edit: Re-cache edit path if it's NULL
Sergey Sharybin [Tue, 15 May 2018 09:41:30 +0000 (11:41 +0200)]
Particle edit: Re-cache edit path if it's NULL

This is what old particle drawing code was doing.

20 months agoParticle edit: Decouple caches for regular and edit strands
Sergey Sharybin [Tue, 15 May 2018 09:39:14 +0000 (11:39 +0200)]
Particle edit: Decouple caches for regular and edit strands

Makes it possible to have children strands to be visible during combing.
Actual implementation still needs work though.

20 months agoParticle edit: Make visibility check to be per-particle system
Sergey Sharybin [Tue, 15 May 2018 09:35:39 +0000 (11:35 +0200)]
Particle edit: Make visibility check to be per-particle system

This way we can see other particle systems while combing another one.

20 months agoParticle edit: Use proper batch cache flag
Sergey Sharybin [Tue, 15 May 2018 09:23:27 +0000 (11:23 +0200)]
Particle edit: Use proper batch cache flag

Also tag batch for invalidation when using cut brush.

20 months agoParticle edit: Tag for updates when changing tool settings related on edit mode
Sergey Sharybin [Tue, 15 May 2018 09:22:20 +0000 (11:22 +0200)]
Particle edit: Tag for updates when changing tool settings related on edit mode

20 months agoParticle edit: Fix missing hair edit after toggling edit mode
Sergey Sharybin [Mon, 14 May 2018 13:37:54 +0000 (15:37 +0200)]
Particle edit: Fix missing hair edit after toggling edit mode

20 months agoFix hair edit mode after recent fix for DEG sued from draw code
Sergey Sharybin [Mon, 14 May 2018 13:34:41 +0000 (15:34 +0200)]
Fix hair edit mode after recent fix for DEG sued from draw code

20 months agoModifiers on Lattices now work
Sybren A. Stüvel [Tue, 15 May 2018 15:16:20 +0000 (17:16 +0200)]
Modifiers on Lattices now work

Tested with Hook and Armature modifiers. Requires CoW to be enabled.

20 months agoWorkbench: Renamed Overlap to Outline
Jeroen Bakker [Tue, 15 May 2018 15:03:59 +0000 (17:03 +0200)]
Workbench: Renamed Overlap to Outline

Outline is reserved for the Overlap Overlay

20 months agoFix broken PoseMode editing when CoW is enabled.
Bastien Montagne [Tue, 15 May 2018 14:29:19 +0000 (16:29 +0200)]
Fix broken PoseMode editing when CoW is enabled.

We need to get data from evaluated object/posechannel too, then...