Commit Graph

77960 Commits

Author SHA1 Message Date
Phil Stopford
17b89f6dac Ocean modifier: Expose eigenvectors for use as map
The eigenvectors in the ocean modifier (plus and minus) can be useful,
but are not exposed. Assuming the particle system was capable, the
eigenvectors could be used to drive spray emission velocities.

This exposes the controls to allow a map to be generated from these
eigenvectors. Currently, the values are mapped into a 0-255 range
similar to foam.

Differential Revision: https://developer.blender.org/D7182
2020-07-02 11:49:15 -04:00
Clément Foucault
35481fde40 GPUOffScreen: Remove the sample parameter
This is because the DRW module is no longer compatible with drawing using
MSAA.

This also change the Python API.
2020-07-02 17:28:41 +02:00
Antonio Vazquez
a4fe8ef236 Fix T78527: GPencil Mirror modifier is inconsistent with Mesh Mirror
The grease pencil mirror was using the current axis rotation but the mesh modifier doesn't use it.
2020-07-02 16:57:20 +02:00
Hans Goudey
06de1bddae UI: Small Tweaks to Modifier Layouts for Consistency
These changes are smaller, made based on feedback and a pass on all
the layouts for clarity and consistency. The Multires modifier UI will
be addressed in a separate patch. Here is an overview of the changes:

Renaming Options:
  - Build: "Start" -> "Start Frame"
  - Curve: "From Radius" -> "Size from Radius"
  - Screw: "Calc Order" -> "Calculate Order"
  - Displace, Warp, Wave: "Texture Coordinates Object" -> "Object"

Move Mode Toggle to Top & Expand:
  - Bevel, Boolean, Normal Edit, Subdivision

Use Columns for Tighter Spacing:
  - Displace, Explode, Ocean, Particle Instance, Remesh, Shrinkwrap,
    Solidify, Warp, Weighted Normal, Wave

Misc:
  - Bevel: Set inactive properties for vertex bevel
  - Mesh Sequence Cache: Remove box for cache file
  - Skin: Don't align "Mark Loose" and "Clear Loose"
  - Array: Expand relative offset subpanel by default
  - Array: Move start cap, end cap to a new subpanel
  - Bevel: Move width type above width

Differential Revision: https://developer.blender.org/D8115
2020-07-02 10:47:02 -04:00
Sebastián Barschkis
fb0f0f4d79 Fluid: Added offset to control frame range
Added an offset field to control when to load the simulation files. Since this is a very small but helpful addition it is in my view safe to commit at this point of the bcon cycle.
2020-07-02 16:31:35 +02:00
Hans Goudey
f58f09c9a9 Fix T78513: Modifier apply shortcut not displayed
We can't specify the "apply_as" enum value, even though it's the default.
2020-07-02 08:26:59 -04:00
Jeroen Bakker
46ae115b88 Fix T78054: Crash Editing Instanced Objects with Tangent Normals
Similar track as for normal mesh. Don't store the tangent normals in CustomData
of the mesh, but in an unassociated CustomData instance.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D8161
2020-07-02 11:34:25 +02:00
Jeroen Bakker
ba2c039b05 Fix T77686: EEVEE environment pass with film transparency
When the film is set to transparent the environment pass should still be
rendered solid. otherwise it renders black.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D8046
2020-07-02 11:27:23 +02:00
Campbell Barton
945d0269e3 Fix crash calculating vertex parent in edit-mode
Regression in deaff945d0.
2020-07-02 19:12:54 +10:00
Antonio Vazquez
22197d7f8a Fix T76886: GPencil - Flickering when use Background or Camera image
The problem was if some stroke was empty and the changed flag was set to the last stroke wrongly.
2020-07-02 09:29:30 +02:00
Campbell Barton
26ffed7466 Cleanup: spelling 2020-07-02 13:03:46 +10:00
Clément Foucault
afd976a3b4 Fix T76806 UV Editor: Display as Outline do not work on macOS
This is a simple workaround using polyline shader. This is temporary and
a better solution should be found when we refactor the 2D view using DRW.
2020-07-02 02:32:10 +02:00
Clément Foucault
8bee200e2f Fix T76229 Overlay: Sulpt overlay not working if object use in-front option
Simple fix similar to paint overlay.
2020-07-02 01:41:02 +02:00
Germano Cavalcante
52b125a790 Fix alignment test when snap to edge while in vert or edge slide 2020-07-01 17:17:05 -03:00
Germano Cavalcante
b6f35531b6 Revert "Fix alignment test when snap to edge while in constraint"
This reverts commit e16972389e.
2020-07-01 17:13:13 -03:00
Germano Cavalcante
e16972389e Fix alignment test when snap to edge while in constraint 2020-07-01 16:42:06 -03:00
Clément Foucault
755c5c6e4c EEVEE: Shadows: Remove 1 pixel padding to the cubemap
This avoid having a much higher memory footprint as the underlying texture
size allocated by the driver is likely to be much higher (rounded to next
Power of 2 or other alignement requirements).
2020-07-01 19:52:05 +02:00
Clément Foucault
4723644e7f Fix T67587 Overlay: WeightPaint color blends with background in wireframe mode
Fix this by rendering to the overlay framebuffer when using alpha blend
mode.
2020-07-01 19:15:52 +02:00
Pablo Dobarro
6358c7754c Cleanup: Add functions to check the first brush step and symmetry passes
This adds three functions to check the state of the stroke in the
StrokeCache, removing the references to first_time and
mirror_symmetry_pass from the code. This makes easier to understand what
each code path is doing inside of each tool.

Some tools were using mirror_symmetry_pass incorrectly, so this should
also fix unreported bugs with radial and tiling symmetry related to that.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8164
2020-07-01 19:03:22 +02:00
Antonio Vazquez
bf5a656ff6 GPencil: Fix unreported primitive color always set as Vertex Color
When drawing a primitive, the color was always assigned as vertex color, so it was impossible to change it in the material settings.

Now, the color is set to material color or vertex color as expected.
2020-07-01 18:55:02 +02:00
Clément Foucault
11a1ddfd30 Fix T77780 Overlay: Weight colors are not in render in the right colorspace
This was just a missing conversion.
2020-07-01 18:53:48 +02:00
Bastien Montagne
927448a1da Cleanup: typos in comment. 2020-07-01 18:10:05 +02:00
Clément Foucault
e9d1d1f725 Fix T77655 Overlay: Edit mode + wire drawtype + infront not transparent 2020-07-01 18:00:05 +02:00
Alexander Gavrilov
2788b0261c Cloth: use the original vertex positions to build internal springs.
In order to ensure correct operation of the rest shape key feature,
it's necessary to create a temporary copy of the mesh with rest
vertex positions to run the BVH lookup on. If the rest shape key
isn't used, there is no need for additional overhead.
2020-07-01 18:16:44 +03:00
Bastien Montagne
f4f00661a5 Fix T78330: Duplicating parented objects does not preserve relationships.
Caused by refactor of duplicate code in rBad6cccf058d0, we need to take
into account the duplication of groups of objects here too...
2020-07-01 17:12:12 +02:00
Alexander Gavrilov
42be3964eb Cloth: correctly use the rest shape to compute the initial pressure volume.
Computing the original volume should use the rest positions of vertices,
like is done for initializing other parts of the simulation like springs.
Otherwise, features like rest shape key don't work correctly.
2020-07-01 17:42:05 +03:00
Brecht Van Lommel
b5660f71fe Fix missing GPU image free in background mode
This is legacy code from before Eevee and Workbench rendering in background
mode was supported. Avoid memory leak by only queueing GPU textures to be
freed when we know they have been allocated.

Differential Revision: https://developer.blender.org/D8172
2020-07-01 16:05:54 +02:00
Sergey Sharybin
6f0aca7973 Fix T78264: Auto Render stops working after rendering manually
Was caused by weird and feedback-loop based issue from a long time ago.

The auto-render was only happening for nodes which are tagged for exec.
This tag is assigned by edit operations on the tree (for example, when
adding or removing links). It is also set in the render pipeline for
nodes which are to be executed.

The issues comes from the fact that "life updates" during editing did
not clear the need_exec flag, ever. This made it so Auto Render was
working as expected. However, rendering the scene resets need_exec
flags at the end of rendering using ntreeCompositClearTags().
The actual need of such clear is not very clear, but it was making it
so Auto Render does not work after render.

To my knowledge the flag didn't really meant that the node is connected
to the output, so it couldn't have acted as attempt to ignore rendering
of an unused scene. It also should be possible to auto-render even if
node tree itself was never altered.

Long story short: lets ignore need_exec flag in auto-render check and
render scene node if the scene is used by the node.

Differential Revision: https://developer.blender.org/D8171
2020-07-01 15:08:16 +02:00
Bastien Montagne
9324e1117a LibOverride: Tweak more poll functions to prevent illegal operations.
We are likely still missing a lot of things, but most operators that
should not be allowed on liboverrides should now be properly disabled.
2020-07-01 14:45:27 +02:00
Alexander Gavrilov
23cc2a2628 Fix ID reference counting asserts when freeing COW pose channels.
Take the do_id_user flag into account when freeing custom properties
attached to pose channels, so that pointer properties don't cause
assertion failures when DEG frees its COW instances.
2020-07-01 14:42:55 +03:00
Campbell Barton
323c5e1e0b Fix T78494: Edge slide crashes
Introduced in recent commit 9c29803255.
2020-07-01 21:28:27 +10:00
Campbell Barton
86e41ca775 UI: remove internal names (custom-data & loops) from tool-tip 2020-07-01 20:17:19 +10:00
Campbell Barton
ab0d02b704 UI: use term 'Current Frame' instead of 'Playhead'
Keep terminology consistent, 'Current Frame' is used nearly everywhere.
2020-07-01 20:16:27 +10:00
Germano Cavalcante
4387aff99e Transform: generalized custom-data correction support
Support custom-data correction based on surrounding geometry for all
transformation modes of the mesh transform operators.

The is the same logic used in Vert and Edge Slide.

In order not to change the current default behavior,
this property does not affect Vert and Edge Slide modes.
2020-07-01 17:49:38 +10:00
Jacques Lucke
8d3c4aa2d7 Nodes: add utility method to access bsocket 2020-07-01 09:33:35 +02:00
Clément Foucault
6c7d0aebcb Fix T75483: 3D Text selection obscures text
This avoids logic op and having to draw on the render frame-buffer.
2020-07-01 16:55:20 +10:00
Campbell Barton
9f634a195d Fix crash drawing non-mesh objects with vertex color
Missing NULL check in f7bbc7cdbb
2020-07-01 16:50:28 +10:00
Stefan Werner
8c4703127a GPU: Apple/Nvidia Proxy check
Apple's Nvidia driverPROXY check also fails. Now the
configuration Apple/Nvidia will also bypass the
Proxy test.

Maniphest Tasks: T78175

Differential Revision: https://developer.blender.org/D8160
2020-07-01 07:55:10 +02:00
Campbell Barton
d885b1141c DRW: optimize mesh data extraction
Change extraction callbacks to take index ranges instead of calling them
for each mesh element (poly, loop, vert & edge).

This gives a minor overall performance gain in my tests, ~5% on average.

Details:

- Use typed parameter structs and macros for looping over elements.
  Without this, changes to these callbacks is time consuming as changes
  need to be made in many places.
- Avoid iterating over polygon-loops when iterating over polygons
  is sufficient.
- Simplify logic to access adjacent loops for faster line extraction.
- Rename 'loop' iterators to 'poly' (as they take polygon ranges)
  the iterator callbacks can operator on either polygon or loop data.
- Use term 'last' for the last index (inclusive),
  use 'end' when this value (not inclusive).
2020-07-01 14:56:39 +10:00
Campbell Barton
36d6aa428f Cleanup: spelling 2020-07-01 13:12:24 +10:00
Campbell Barton
38bbd783b3 Cleanup: undeclared functions (make static) 2020-07-01 13:03:22 +10:00
Clément Foucault
aeb4792044 Fix T77641 Sculpt mode performance regression in 2.83 2020-07-01 02:11:58 +02:00
Pablo Dobarro
a3e6b7c2ce Sculpt: Refactor persistent base to make it usable from other tools
This renames the layer persistent base and adds new API functions to get
the mesh state from the base, so it can be used from other tools and
replaced in the future with a better system.

Reviewed By: sergey

Maniphest Tasks: T77738

Differential Revision: https://developer.blender.org/D8003
2020-06-30 22:02:17 +02:00
Clément Foucault
981d7381cd Fix T77069 EEVEE: Mix shader with holdout & transparent BSDF fails
This follows Cycles closer.
2020-06-30 21:12:44 +02:00
Pablo Dobarro
db7d370657 Fix T78201: Paint color not matching the UI and color picker
The color picker and brush->rgb values are in srgb, but sculpt vertex
colors works in linear, so they need to be converted.

Reviewed By: sergey

Maniphest Tasks: T78201

Differential Revision: https://developer.blender.org/D8111
2020-06-30 19:13:45 +02:00
Nathan Craddock
7dbfc864e6 Outliner: Add auto scrolling during drag and drop
Pan the view when dragging elements near the borders. This uses the same
operator that scrolls the region during modifiers drag and drop.
2020-06-30 10:57:27 -06:00
Pablo Dobarro
21c2a64e79 Sculpt: Color filter fill mode
This implements a fill mode in the Color Filter tool, which fills the
entire mesh with a specific color.
As this functionality is part of the color filter, this allows to control
the blending of the fill color with the filter strength.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8158
2020-06-30 18:50:13 +02:00
Julian Eisel
8262e37d22 Outliner/UI: Show library state icons for data-blocks in "Data API" mode
Previously it was not possible to tell appart a linked data-block from its
override copy. In fact you couldn't tell appart any data-blocks with the same
name (which is possible with linking).
Now we show the library state icon as we do for data-blocks in other display
modes.

Old/new comparison (note the overriden "GEO-head"):
{F8608835} {F8608836}
2020-06-30 18:26:21 +02:00
Jacques Lucke
9693163e2f Pointcache: store owner_id instead of object in PTCacheID
The new simulation type can also reference a point cache, but it is not an object.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D8097
2020-06-30 18:25:08 +02:00
Clément Foucault
9d80e6a6bb Fix T76480 UI: Proportional Editing Color too Shallow on 2.9a
This changes the drawing by drawing 2 circles with different intensity to
avoid any readability issues. This removes the need for Logic OP which is
implementation dependent.
2020-06-30 18:21:45 +02:00