Commit Graph

99401 Commits

Author SHA1 Message Date
Campbell Barton
dd328be0f0 Fix memory leak calculating deform modifiers in edit-mode
This bug goes back to 2.80 but doesn't seem to have been reported.
2020-06-24 22:13:27 +10:00
Campbell Barton
074929d1c5 MEM_guardedalloc: allow freeing const arrays with MEM_SAFE_FREE
'const' arrays couldn't use this macro with GNUC.
2020-06-24 22:13:27 +10:00
Clément Foucault
9b3dfbe651 Fix T77672 EEVEE: Reflections with reflection plane broken (regression) 2020-06-24 13:50:20 +02:00
Clément Foucault
be0622533d Fix T78190 EEVEE: Render passes broken in final render
This was caused by the step motion blur implementation.
`DRW_cache_restart` was reseting the cache and cause
`EEVEE_renderpasses_postprocess` to not work inside
`EEVEE_render_read_result`.
2020-06-24 13:23:43 +02:00
Bastien Montagne
6f5a9dd8de Fix T78172: Undo crash due to IDTemplate operations missing undo push.
This should be included in 2.83 as well.
2020-06-24 12:51:08 +02:00
Pablo Dobarro
5c8e349c28 Cleanup: Replace GSet with Edgeset in Cloth Brush 2020-06-24 15:31:10 +10:00
Campbell Barton
d295261330 Text: add replace all operator
D8032 by @Poulpator with minor edits
2020-06-24 15:00:12 +10:00
Campbell Barton
be8f2c698e Cleanup: redundant self assignment 2020-06-24 14:30:18 +10:00
Campbell Barton
1daaac75b5 Cleanup: clang-format 2020-06-24 14:23:54 +10:00
Campbell Barton
31dd80e0de Cleanup: unused struct members 2020-06-24 14:19:25 +10:00
Campbell Barton
a9e5e58e16 Cleanup: unused functions 2020-06-24 14:19:24 +10:00
Aaron Carlisle
5b9bb688e7 UI: ShaderFX: Manually add X/Z labels for rim lighting
These need to be labeled manually  because offset is a #PROP_PIXEL.

Matches other changes made in rBbb4cef71eeaf36aa61187d47b8a8ae06ba55f7c0
2020-06-23 19:21:06 -04:00
Aaron Carlisle
49234c15e2 UI: Cycles: Use Title Case 2020-06-23 17:54:09 -04:00
Clément Foucault
c26abd1c29 Fix T66934 Overlay: "Outline Selected" overlay doesnt affect armatures
This is a really small fix. Could be included in 2.83 LTS branch.
2020-06-23 23:45:46 +02:00
Aaron Carlisle
b0449cac66 API Docs: Small edits to recent commit
- Revert string formatting change
- Add missing text edit
2020-06-23 17:10:07 -04:00
Clément Foucault
d82c3d8615 Fix T62961 EEVEE: Viewport refresh when hovering widgets
We now bypass EEVEE's rendering if the TAA accumulation has ended.
2020-06-23 22:59:55 +02:00
Aaron Carlisle
5fbbe1fca9 UI: Remove unnecessary ellipsis 2020-06-23 16:56:37 -04:00
Germano Cavalcante
65006bfaf4 Snapping: Snap to the origin of Light and Camera objects
I see no reason to ignore them.
This is not a limitation.
2020-06-23 16:18:01 -03:00
Germano Cavalcante
ede1a247d8 Fix camera snapping in camera View
The `T_CAMERA` flag was being set in the wrong place.
2020-06-23 16:14:06 -03:00
Antonio Vazquez
11a390e85e GPencil: Implement antialiasing parameter to Pixel FX
Related to T78153

Differential Revision: https://developer.blender.org/D8100
2020-06-23 19:20:02 +02:00
Jacques Lucke
f3a8192ef7 Refactor: use new api for lib linking mask, windowmanager and screen
This is part of T76372.
2020-06-23 17:55:23 +02:00
Julian Eisel
2dd60e6c2c Fix T77830: Crash in VR session when opening material preview
Draw-manager mutex has to be set before activating OpenGL/GPU context.
Otherwise, parallel jobs (like preview rendering) may try to activate
the context from another thread.

Also: Use WM wrappers for activating/releasing OpenGL context, which
have an additional assert check.

Suggest to backport this for 2.83.1.
2020-06-23 17:28:53 +02:00
Jacques Lucke
1e0426da7c Refactor: move more modifier specific code out of readfile.c 2020-06-23 17:25:44 +02:00
Jacques Lucke
9ef5cc44a6 Refactor: move blenloader code of bevel modifier 2020-06-23 17:08:39 +02:00
Jacques Lucke
56f9529775 Refactor: move blenloader code of curve profile to blenkernel 2020-06-23 17:08:39 +02:00
Sybren A. Stüvel
f345625ded Fix T77712: Crash on proxied rig, custom bone shape, driver targeting rig
It turns out that
`DepsgraphNodeBuilder::build_object_data_geometry(Object *object, bool
is_object_visible)` was called for the custom shape with
`is_object_visible=false` when there are drivers, and
`is_object_visible=true` when there aren't any.
2020-06-23 17:03:36 +02:00
Jacques Lucke
adcb7a2ce7 Refactor: move blenloader code of surface deform modifier 2020-06-23 16:51:43 +02:00
Jacques Lucke
8b59b97c10 Refactor: move more blenloader code into modifier files 2020-06-23 16:42:08 +02:00
Pablo Dobarro
f7bbc7cdbb Sculpt Vertex Colors: Initial implementation
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time.

This commit includes:
  - SCULPT_UNDO_COLOR for undo support in sculpt mode
  - SCULPT_UPDATE_COLOR and PBVH flags and rendering
  - Sculpt Color API functions
  - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now)
  - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint)
  - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint)
  - Remesher reprojection in the Voxel Remehser
  - Paint Brush and Smear Brush with color smoothing in alt-smooth mode
  - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors
  - Color Filter
  - Color picker (uses S shortcut, replaces smooth)
  - Color selector in the top bar

Reviewed By: brecht

Maniphest Tasks: T72866

Differential Revision: https://developer.blender.org/D5975
2020-06-23 16:28:50 +02:00
Hans Goudey
27972c4225 UI: Don't expand bevel active tool setting 2020-06-23 10:16:28 -04:00
Hans Goudey
4284ddefab Fix mistake in bevel versioning
Use the correct modifier struct name
2020-06-23 10:07:22 -04:00
Campbell Barton
bab2b02507 Cleanup: style, raw multi-line string sphinx updater 2020-06-23 23:32:47 +10:00
Campbell Barton
6d639a606c Docs: quiet deprecation warning, add missing context members 2020-06-23 23:32:36 +10:00
Tobias Heinke
23f8ab4250 API docs: intro overhaul
- Update terminology, spelling, formatting.
- Rename screen to workspace.
- Update for 2.8 UI changes.
2020-06-23 23:13:10 +10:00
Jeroen Bakker
0aa7c11788 Fix T77803: IK Degrees of freedom drawing glitch
Forgot to update the lineOutput what resulted in that the sphere was not
rendered on all platforms.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D8098
2020-06-23 14:51:15 +02:00
Jeroen Bakker
8f97a64dec Fix T77893: Crash drawmanager threading custom data
Tangent normals were temporarily saved in the original given layers but
the typeinfo wasn't updated. This lead to several issues since we
changed the threading of the mesh extraction.

This patch stores the tangent normals in a temporary custom data on the
stack this way the typemap doesn't need to be updated.

Still need to run the tests for an hour to see if it is fixed

Reviewed By: Clément Foucault, Philipp Oeser

Differential Revision: https://developer.blender.org/D8095
2020-06-23 14:33:26 +02:00
Clément Foucault
439b40e601 EEVEE: Motion Blur: Add accumulation motion blur for better precision
This revisit the render pipeline to support time slicing for better motion
blur.

We support accumulation with or without the Post-process motion blur.

If using the post-process, we reuse last step next motion data to avoid
another scene reevaluation.

This also adds support for hair motion blur which is handled in a similar
way as mesh motion blur.

The total number of samples is distributed evenly accross all timesteps to
avoid sampling weighting issues. For this reason, the sample count is
(internally) rounded up to the next multiple of the step count.

Only FX Motion BLur: {F8632258}

FX Motion Blur + 4 time steps: {F8632260}

FX Motion Blur + 32 time steps: {F8632261}

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D8079
2020-06-23 14:04:41 +02:00
Jeroen Bakker
cc3e808ab4 Animation: Only update timeline header during playback
The header of all SPACE_ACTIONs are tagged for redraw. Only when the
action editor is showing the timeline it is needed. No noticeable
performance increase. But better to save some CPU cycles.

Reviewed By: Sybren Stüvel

Differential Revision: https://developer.blender.org/D8074
2020-06-23 13:19:45 +02:00
Jacques Lucke
072a224a28 Cleanup: remove some dead code 2020-06-23 12:23:46 +02:00
Jeroen Bakker
ef8aca65d8 Cleanup: renamed do_draw_overlay to do_draw_paintcursor
To make a better distinction with region overlay.
2020-06-23 12:07:50 +02:00
Jeroen Bakker
bbb2e0614f Performance: Draw play head as an overlay
When playing back animations a playhead is updated in all the animation editors.
The drawing of the playhead is part of the drawing of the main region
`RGN_TYPE_WINDOW` that redraws the whole region.

This change will draw the play head and window scrollers when updating the
screen. This affects the Action editor, Timeline, Graph editor, NLA editor and
Sequence editor. There is noticeable speedup when using complex animation files.

Spring 02_020_A.anim.blend fps went from 11.8 to 12.5 when showing a timeline
and a action editor on a Ryzen 1700.

* When playing back animation the markers don't jump up/down when near the
  frame. This could be added back.

Reviewed By: Brecht van Lommel

Differential Revision: https://developer.blender.org/D8066
2020-06-23 12:03:17 +02:00
Jacques Lucke
87ceff3d1b Preferences: New experimental settings for particle system and hair
This replaces the cmake options `WITH_NEW_OBJECT_TYPES` and
`WITH_NEW_SIMULATION_TYPE` with two experimental userpref settings:

* `use_new_particle_system`: Enables the point cloud type and the simulation editor.
* `use_new_hair_type`: Only displays the add-operator in the add menu for now.

Note, in the current state you can't do anything productive with the new particle
system or the new hair type. Features will be added step by step in the upcoming
weeks and months.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D8096
2020-06-23 11:30:46 +02:00
Sybren A. Stüvel
13a5b954c3 Cleanup: USD, move code from USD to blender::io::usd namespace
No functional changes.
2020-06-23 11:07:52 +02:00
Campbell Barton
309cfbceaa Transform: default to median center instead of bounds
When neither bounds or median is selected, snapping the cursor to
the selection was using bounds which often doesn't give useful results.

Resolves T78135
2020-06-23 18:35:06 +10:00
Jacques Lucke
3a3708cefb Functions: Multi Function Network
A multi-function network is a graph data structure, where nodes are
multi-functions (or dummies) and links represent data flow.
New multi-functions can be derived from such a network. For that
one just has to specify two sets of sockets in the network that
represent the inputs and outputs of the new function.

It is possible to do optimizations like constant folding on this
data structure, but that is not implemented in this patch yet.

In a next step, user generated node trees are converted into a
MFNetwork, so that they can be evaluated efficiently for many particles.

This patch also includes some tests that cover the majority of the code.
However, this seems to be the kind of code that is best tested by some
.blend files. Building graph structures in code is possible, but is
not easy to understand afterwards.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D8049
2020-06-23 10:16:14 +02:00
Yevgeny Makarov
c24b1c060d Fix T77743: Number pad key-map items missing from search 2020-06-23 17:55:36 +10:00
Campbell Barton
4040cb438f Cleanup: use doxy sections for BLI read/write headers
Add reference between the read/write functions too.
2020-06-23 16:38:52 +10:00
Campbell Barton
ed68fee665 Fix T78146: Crash using scroll bars
Regression in 2fdca5bd19
2020-06-23 15:22:59 +10:00
Campbell Barton
374e412813 Correct recent 'name' -> 'filepath' rename (missed Collada) 2020-06-23 14:58:38 +10:00
Campbell Barton
3f6f89a06b Cleanup: move text.c comments to the struct/flag declarations
Also update/correct some of the comments.
2020-06-23 14:09:13 +10:00