Commit Graph

66130 Commits

Author SHA1 Message Date
5aa728ec7e Cleanup: style 2018-11-21 05:25:52 +11:00
ec908beab3 GP: New option to paint a predefined weight
Enabling this option, the weight is set to the predefined value and not the result of the sum of the paint actions.
2018-11-20 18:12:04 +01:00
53d9ddf772 UI: Color Ramp: Add menu and functions to distribute color stops
Suggestion from Right-Click Select: https://blender.community/c/rightclickselect/Npcbbc/color-ramp-flags-auto-distribution-function

Differential Revision: https://developer.blender.org/D3965
2018-11-20 17:02:31 +00:00
23656d01d8 Merge branch 'master' into blender2.8 2018-11-20 18:01:13 +01:00
ec851efda9 Fix T57923: Freeze in mesh vnors computation code with some degenerated geometry.
Second part of the fix: do not try at all to compute normals in degenerated
geometry. Just loss of time and potential issues later with weird
invalid computed values.
2018-11-20 17:54:48 +01:00
c9c6433a59 Fix T57923: Freeze in mesh vnors computation code with some degenerated geometry.
Fix first part of it, the freeze itself being caused by float NAN values
never comparing equal to anything, not even themselves.
2018-11-20 17:52:21 +01:00
d2e473f01c GP: Reorganize Reproject options
The options depend of drawing mode and this was very strange. Now, the options are listed in the menu.
2018-11-20 16:29:33 +01:00
1824aad3f3 GP: Set Gizmo orientation for edit mode 2018-11-20 16:04:19 +01:00
4dc639ac99 Speedup rigs with multiple objects deformed by bbones
Previously each of the objects which has armature modifier will
request deformation matricies from bbones. Thing is, all those
deformations are the same and do not depend on object which is
being modified. What's even worse is that this calculation is
not cheap.

This change makes it so bbones deformation is calculated once
and stored in the armature object. After this armature modifiers
simply use it.

With a rigs we've got here dependency graph evaluation time
goes down from 0.02 sec to 0.012 sec.

Possible further optimization is to make bbone deformation
calculated at the time when bone is calculated. This will avoid
an extra threaded loop over all bones.
2018-11-20 15:53:59 +01:00
163be42a96 Cleanup: Use more const qualifiers 2018-11-20 15:07:38 +01:00
5c632ced53 Merge branch 'master' into blender2.8 2018-11-20 15:02:13 +01:00
01e8e7dc6d Task scheduler: Optimize parallel loop over lists
The goal is to address performance regression when going from
few threads to 10s of threads. On a systems with more than 32
CPU threads the benefit of threaded loop was actually harmful.

There are following tweaks now:

- The chunk size is adaptive for the number of threads, which
  minimizes scheduling overhead.

- The number of tasks is adaptive to the list size and chunk
  size.

Here comes performance comparison on the production shot:

 Number of threads        DEG time before        DEG time after
       44                     0.09                   0.02
       32                     0.055                  0.025
       16                     0.025                  0.025
       8                      0.035                  0.033
2018-11-20 14:58:17 +01:00
98bcd52ef2 Comment out all derived mesh evaluation
Seems all the usecases of derived mesh are if-defed already,
so no need to have API for it in place, and definitely no
need to waste CPU ticks on converting evaluated mesh to
derived mesh.
2018-11-20 14:54:16 +01:00
e81aca85cb Depsgraph: Don't use derived mesh
Ideally would need to make check based on evaluated mesh,
but is now a good time to go away from derived mesh.
2018-11-20 14:54:16 +01:00
fd926f0058 Modifier stack: Only ensure derived mesh when USE_DERIVEDMESH is defined
This is more an internal transition away from derived mesh.
2018-11-20 14:53:41 +01:00
1ee8c3e46a Modifier stack: Use evaluated mesh to check normals 2018-11-20 14:53:41 +01:00
88d634ca05 Vertex parent: Remove CCGDM optimization
Currently we never return CCGDM from the modifier stack,
so the optimization was doing pretty much nothing.

Removing it completely for now, it needs to be re-done
with the new evaluated Mesh/Subdiv.
2018-11-20 14:53:41 +01:00
129b8833c6 UI: increase spacing at sides of headers, to avoid region split zone overlap. 2018-11-20 13:39:49 +01:00
fc181d855e Fis T57948: Crash in 2.8x lookdev 2018-11-20 13:30:29 +01:00
566a4a96cb Fix T57891: Radius of strip hair doesn't scale with object scale
Note that this only works fine with uniformly scaled objects.
Otherwise, the hair thickness will vary in a weird way depending on viewing
angles.
2018-11-20 13:09:27 +01:00
a29740e290 GP: Fix bottom statistics 2018-11-20 11:42:36 +01:00
057ba2eb68 Fix error generating toolbar tooltip
C code needed to be updated for module move.
2018-11-20 21:35:24 +11:00
789a259d71 Merge branch 'master' into blender2.8 2018-11-20 10:46:36 +01:00
9bc2570e2a Removed superfluous NULL check 2018-11-20 10:46:17 +01:00
f8f5751dac Merge branch 'master' into blender2.8 2018-11-20 10:38:55 +01:00
92a47e3b53 Multires: Cleanup, remove unused function 2018-11-20 10:34:01 +01:00
0540d2b65c Added MovieClip.fps read-only property to RNA
This makes it possible for a Python script that loads a MovieClip into the
clip editor to also change the scene frame rate to match.
2018-11-20 10:32:24 +01:00
698f1e3d94 Fix T57938: Dynamic paint baking issues
Quite usual fix for the caching systems.
2018-11-20 10:29:35 +01:00
812205f936 UI: unhide bones in Jump To Target instead of failing.
The whole point is to avoid the need to manually hunt for the
bone, so it makes more sense to unhide it automatically.

If the bone is on multiple layers, just the first one is enabled.

Also, ED_pose_bone_select already checks PBONE_SELECTABLE.
2018-11-20 10:24:33 +03:00
1edc3f74ed Cleanup: make object deselect match other ED_ APIs
Use SEL_* argument, matching ED_pose_deselect_all.
2018-11-20 18:08:24 +11:00
d227c58e3e UI: support jumping to target object/bone
Complex rigs are built from many bones (often overlapping)
connected by constraints.

When investigating or debugging such rigs one often wants to switch to
the target of a constraint, or a parent bone, but it is difficult to do
manually due to overlap confusion.

This adds a right click menu option that automatically selects
and makes the target object or bone active for UI fields where a
suitable reference is readily available.
2018-11-20 17:38:35 +11:00
93f82698e7 Object: utility (de)select all functions
part of D3955 by @angavrilov
2018-11-20 17:00:55 +11:00
82eecc6c00 Multi-Objects: Calc origin w/ all edit-objects
D3924 by @Leon95 w/ code de-duplication.
2018-11-20 16:26:46 +11:00
15db2acd9f Fix T57722: Clipped LookDev preview spheres
D3948 by @pablodp606
2018-11-20 15:08:56 +11:00
720368e2d0 Cleanup: use const mesh arg to BM_mesh_bm_from_me
Needed for D3966
2018-11-20 13:30:25 +11:00
47139c69d7 Keymap: only use delete confirmation for X-key
Only use confirmation w/ X-key since this is more likely to be pressed
by accident. Delete-key delete doesn't confirm.

Part of D3953 by @Zachman w/ edits
2018-11-20 10:06:02 +11:00
750690ae7a Object: report number of deleted objects
Part of D3953 by @Zachman w/ edits
2018-11-20 09:49:52 +11:00
5f9de429ac UI: show keyconfig prefs directly under preset
The keyconfig preset and it's preferences were too far apart,
show the preferences under the preset in a collapsible box.
2018-11-20 09:15:53 +11:00
f0b5a9da01 Cleanup: style, unused 2018-11-20 08:53:00 +11:00
5f21030a81 Image Empties: Option to not display the backside of image empties
Reviewers: brecht

Differential Revision: https://developer.blender.org/D3964
2018-11-19 19:33:09 +01:00
99d9d3dbce Fix T57554: texture bake object to active error after recent changes. 2018-11-19 19:19:03 +01:00
eff8903026 UI: hide scene / layer in properties context in some cases, for compactness. 2018-11-19 19:19:03 +01:00
0ff05daee0 Fix handling of B-Bone custom handle references in Edit mode undo.
Correct a couple of places that should process the handle pointers.
2018-11-19 20:35:21 +03:00
7bb512594c Workbench: Use non-negative lighting evaluation
This makes the lighting a bit more diffuse but don't produce negative
values.

Add a bias of 1.5f to make the lighting a bit more directionnal.

The implementation is based on:
https://github.com/kayru/Probulator/blob/master/Source/Probulator/SphericalHarmonics.h#L136
which is derived from:
http://www.geomerics.com/wp-content/uploads/2015/08/CEDEC_Geomerics_ReconstructingDiffuseLighting1.pdf

The shader implementation is optimized and has the same runtime cost
as previous method:
* no sh eval : 0.13ms
* prev sh eval : 0.14ms
* new sh eval : 0.22ms
* new sh eval opti : 0.14ms
2018-11-19 18:05:15 +01:00
2b56d21839 Workbench: Performance: Fix performance drop caused by specular lighting
In my test, the composite pass went from 1.52ms to 0.24ms when specular
lighting is enabled.
2018-11-19 18:05:15 +01:00
98f8b48e69 Remove note about Blender Internal 2018-11-19 16:28:26 +01:00
6ffb0a0ee7 DRW: Make profiling more precise on certain drivers.
This makes the whole rendering slower (because of sync point) but the
numbers displayed by the draw manager profiler is more precise on some
buggy drivers. They seems to issue the query before the last one ends.
2018-11-19 15:48:17 +01:00
ee44dd1b2b Studio Lights: Big Cleanups
* Less Lengthy enum/macro names.
* Optimize computation of Spherical Harmonics.
* Reduce radiance cubemap size a bit. Higher resolution is not necessary.
* Remove STUDIOLIGHT_LIGHT_DIRECTION_CALCULATED (was not used).
* Do windowing on each component separately instead of using luminance.
* Use ITER_PIXELS to iterate on each pixels, using pixel center coords.
* Remove gpu_matcap_3components as it is only needed when creating the gputex.
* Fix a lot of confusion in axis denomination/swizzle.

These changes should not affect functionallity.
2018-11-19 15:48:17 +01:00
8d51e3c062 STUDIOLIGHT: leave a comment of why STUDIOLIGHT_SPHERICAL_HARMONICS_WINDOWING was commented. 2018-11-19 10:39:30 -02:00
51711fdcaa Revert "BKE object: Correct bound box of bezier curve objects not matching the object viewed."
This reverts commit 24677cf77b.
2018-11-19 10:28:31 -02:00