Commit Graph

9783 Commits

Author SHA1 Message Date
Dalai Felinto
897e047374 Outliner visibility unification: Implement 3 levels of viewport visibility
Now collection and objects can be either:
* Disabled for all the view layers.
* Hidden for a view layer but not necessarily for all others.
* Visible for a view layer but not necessarily for all others.

Regarding icons: Whatever we decide to use for the "Hidden for all view
layers" needs to be a toggle-like icon. Because when viewing "Scenes"
instead of "View Layer" in the outliner we should be able to edit the
collection "Hidden for all the view layers" as an on/off option.

The operators are accessible via a Visibility context menu or shortcuts:
* Ctrl + Click: Isolate collection (use shift to extend).
* Alt + Click: Disable collection.
* Shift + Click: Hide/Show collection and its children (objects and collections)

Things yet to be tackled:
* Object outliner context menu can also get a Visibility sub-menu.
* Get better icons for viewport enable/disable.

Note:
* When using emulate 3 button mouse alt+click is used for 2d panning.
  In this case users have to use the operator from the menu.

See T57857 for discussion.

Patch: https://developer.blender.org/D4011
Reviewers: brecht and sergey

Thanks to the reviewers and William Reynish and Julien Kasper in
particular for the feedback.
2019-02-05 19:32:58 -02:00
Dalai Felinto
3d984aa150 Per view-layer collection visibility
[re-committing]

We still control this in the viewport collections visibility menu. But
now we are actually changing the visibility of the collections, not of
the objects.

If a collection is indirectly invisible (because one of its parents are
invisible) we gray it out.

Also if you click directly in the collection names, it "isolates" the
collection by hiding all collections, and showing the direct parents and
all the children of the selected collection.

Development Note:

Right now I'm excluding the hidden collections from the depsgraph.
Thus the need for tagging relations to update.

If this proves to be too slow, we can change.
2019-02-05 18:42:02 -02:00
William Reynish
56f5fd84fc UI: Add collection move & link to menu 2019-02-05 22:36:46 +11:00
Joshua Leung
49618b0e18 Fix: Ensure that KeyingSet.bl_description field is properly escaped when using the Export to File operator
Previously, if double-quotes appeared in the KeyingSet.bl_description field,
these would cause a syntax error in the resulting .py script export of the
KeyingSet. Since single quotes are even more likely to appear
(e.g. as apostrophes), we now use triple quotes here.

Unreported bug, noticed earlier when investigating T61010.
2019-02-05 16:21:35 +13:00
Campbell Barton
40f2afcf1d Cleanup: remove contributors for Python files
Following removal from C source code.

See: 8c68ed6df1
2019-02-05 09:17:00 +11:00
Campbell Barton
6b2a91efff Cleanup: use sys.platform instead of platform module
This was indirectly importing other modules we don't use at startup.
`sys.platform` is sufficient.
2019-02-04 23:07:06 +11:00
Campbell Barton
a6f045de3f UI: clarify ruler tooltip text
See T61151
2019-02-04 10:32:34 +11:00
Antonioya
2672552cf7 T61140 Shortcut Eraser and Eraser are not the same
Set default eraser with the last eraser used, and remove the toggle button from UI panel.
2019-02-03 13:27:47 +01:00
Joshua Leung
65340ad73f Fix T60753: Graph Editor showing cache curves regardless of filters
This commit adds a datablock filtering option for cache files channels,
so that a shot with lots of these in addition to standard animation
(e.g. the Spring production files) don't become bogged down by these.

Furthermore, these channels also respect the "Only Selected" toggle too now.
2019-02-04 00:41:14 +13:00
Brecht Van Lommel
8c2a978b03 UI: rename Free Bake to Delete Bake.
"Free" is more of a programming term related to memory allocation, not a term
we need to use in the interface. Ref T61054.
2019-01-31 19:49:47 +01:00
Brecht Van Lommel
7400aa7e59 Depsgraph: remove features incompatible with new system.
Some features are incompatible with multithreading and reliable evaluation
of dependencies. We are now removing them as part of a bigger cleanup to
fix bugs in keyframing and invalid animation evaluations.

* Dupliframes have been removed. This was a hack added before there were
  more powerful features like the array modifier.
* Slow parent has been removed, never worked in 2.8. It was always
  unreliable for use in production due to depending on whatever frame was
  previously evaluated, which was not always the previous frame.
* Particle instanced objects used to have their transform evaluated at
  the particle time. Now it always gets the current time transform.
* Boids can no longer do predictive avoidance of force field objects,
  but still for other particles.

Differential Revision: https://developer.blender.org/D4274
2019-01-31 12:03:05 +01:00
Jacques Lucke
1ceaca7f64 Fix T61017: node_shader_utils did not handle diffuse_color correctly 2019-01-30 14:37:09 +01:00
Campbell Barton
7894d6c6f1 Cleanup: line length 2019-01-30 09:06:44 +11:00
Clément Foucault
1a61c209a0 Workbench: Make Material transparency part of the rgba color picker
It is only used for solid mode for now but could be used by eevee in the
future.
2019-01-29 20:34:37 +01:00
Pablo Vazquez
ea3f5af962 UI: Add Dynamic Topology toggle entry to Sculpt menu
Helps to find the shortcut (Ctrl+D) which wasn't exposed anywhere else than in search.
2019-01-29 18:58:34 +01:00
Clément Foucault
bc99f4903c Workbench: Add transparency support for materials
This adds the posibility of having certain materials transparent in solid
mode. The option is (for now) per material only and thus only shows in
material color mode.

This uses the same rendering technique as Xray mode.

Note that objects are not considered transparent for selection with this.
2019-01-29 15:07:53 +01:00
Howard Trickey
79f76c8544 Bevel - better corner shapes for inner arc miters.
The subdivision method for getting corner shapes has a fullness
parameter which had been set by eye before. This change uses fullness
as found by offline search process to best match the superellipsoid
octant in the cube corner case (except cube corner case is still handled
by other code). This somewhat improves the look of cube corners with
inner arc miters, however.
2019-01-29 07:21:59 -05:00
Campbell Barton
957b4547ae Cleanup: Remove unused MTex.texflag 2019-01-29 09:11:05 +11:00
Brecht Van Lommel
409a21b32e Merge branch 'blender2.7' 2019-01-28 12:05:51 +01:00
Brecht Van Lommel
d918217d35 OSL: remove fresnel template that was not public domain.
Convention is to only have public domain code templates. Also fixes wrong
license header in Cycles.
2019-01-28 12:04:54 +01:00
Jacques Lucke
e6ba760ce8 Fix: allow removal of addons that are symlinked
Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D4256
2019-01-28 10:52:54 +01:00
Campbell Barton
9b40da94a3 Keymap: move grease pencil Alt-C to 2.7x map
This has been removed from the default map, so don't use elsewhere.
2019-01-26 12:56:56 +11:00
Clément Foucault
c1814d593d Workbench: Depth Of Field: Add toggle option in shading popover
Pretty straight forward. Just an option to turn the DoF per viewport.
Default is off as in 2.79.
2019-01-25 21:56:10 +01:00
Pablo Vazquez
5e6487e1f2 UI: Particles
Dupli Collection -> Instance Collection
2019-01-25 15:30:33 +01:00
Pablo Vazquez
9c78302a35 UI: Particles. Open render type panels by default
Render-type panels are only shown when the relevant type is active anyway.
Saves a click especially when using object or collection as render, since
you _have_ to set an object or collection to use it.
2019-01-25 15:30:33 +01:00
Pablo Vazquez
31abd2d877 UI: Particle. Remove unnecessary label for grid distribution
None of the other distribution modes have labels, and it's pretty clear
anyway since the fields below have the Grid word in them.
2019-01-25 15:30:33 +01:00
Pablo Vazquez
abd33f9823 UI: Particles
Remove duplicate "Use Modifier Stack"
2019-01-25 15:30:33 +01:00
Campbell Barton
6cc5c28d15 Fix UI extension removal
App-templates & keymap names had their extensions removed twice.

Confusing for filenames containing dots.
2019-01-25 13:49:59 +11:00
Brecht Van Lommel
6d58339973 Fix smoke clipping being ignored by Cycles and not being editable after baking.
The value worked in 2.7, but not with copy-on-write in 2.8.
2019-01-24 19:47:01 +01:00
Philipp Oeser
6100dc6a20 bring back possibility to override camera per view
this can now be found in the sidebar View panel

- uses existing 'lock_camera_and_layers' but renames the property to
'use_local_camera'
- uses RNA_def_property_boolean_negative_sdna to flip the value
- remove the local view code in
rna_SpaceView3D_lock_camera_and_layers_set
- update Python code
- update Addons code will be separate commit

Fixes T60756

Reviewers: billreynish, brecht

Maniphest Tasks: T60756

Differential Revision: https://developer.blender.org/D4247
2019-01-24 17:25:22 +01:00
Brecht Van Lommel
28b1bbeb92 Fix T60625: freestyle colletion include / exclude not working. 2019-01-24 16:46:11 +01:00
Jacques Lucke
a4a60358b5 Fix T58502: scopes don't work in the image editor
There were two problems:
1. The scopes were only updated when the "Scopes" category is active,
   but this category has been removed in Blender 2.8.
2. The scopes moved from the TOOLS to the UI region.
   However the update-code still searched for the "Scopes" category
   in the TOOLS region.

Both problems are fixed with this commit:
1. Scopes have there own category again.
2. The update code is in the correct draw function now.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4245
2019-01-24 14:41:44 +01:00
Campbell Barton
41a7dd383c Cleanup: style 2019-01-24 09:27:14 +11:00
Jean Da Costa
b592e34559 Sculpt: add Topology Rake, to align edges along brush while painting.
This helps to generate cleaner topology and define sharp features for dynamic
topology. Best used on relatively low-poly meshes, it is not needed as much
for high detail areas and has a performance impact.

Differential Revision: https://developer.blender.org/D4189
2019-01-23 20:25:14 +01:00
Sergey Sharybin
7a9e4e41a9 Cleanup: More clear function name
Otherwise it was read as it does select sequences rather
than counts them.
2019-01-23 17:16:17 +01:00
Sergey Sharybin
8377263e0d Sequencer: Fix python error on Add menu on default workspace
It is possible that context does have selected_sequences but
it will be set to None. In this case getattr() will return
None, breaking the intended logic.
2019-01-23 17:16:17 +01:00
Pablo Vazquez
1f907b30d4 UI: Particles UIList
Swap show_render and show_viewport to match outliner (first viewport then render)

Also make list item into an aligned row so it uses less space and looks closer to the outliner.

Before/After: http://pasteall.org/pic/show.php?id=5c9fff53dc6a0e2465f5b86aa751a942
2019-01-23 17:15:58 +01:00
Richard Antalik
d753726ce7 Add font selection to VSE text strips
Allows users to select a font for text strips in the video sequence editor.

Related: 3610f1fc43 Sequencer: refactor clipboard copy to no longer increase user count.

Reviewed by: Brecht

Differential Revision: https://developer.blender.org/D3621
2019-01-23 12:07:05 +01:00
Dalai Felinto
178299278b EEVEE UI: Render/Viewport Samples - follow Cycles
Cycles shows first the render, and then the viewport settings.
One could argue that EEVEE's main setting is the viewport one.

But that is silly. If we need an extra setting for the lookdev mode so be it.
But EEVEE should be treated as an engine just as Cycles.

Also, removed the " Samples" bit from their labels since they are under
the Sampling panel.
2019-01-22 19:48:24 -02:00
Joep Peters
1651879d34 UV Editor: support snapping to center of pixels, in addition to corners.
Differential Revision: https://developer.blender.org/D4150
2019-01-22 17:05:18 +01:00
Brecht Van Lommel
babba31c49 Fix light probe panels not being visible for Cycles. 2019-01-22 17:00:38 +01:00
William Reynish
2b0fb0d7bf Fix keymap preferences UI layout issues for modifier keys. 2019-01-21 17:26:35 +01:00
Antonioya
7117dfaf67 Fix T60704: Transparency threshold only half visible 2019-01-21 08:59:42 +01:00
Campbell Barton
c53ebfa9e9 3D View: add back clipping border operator 2019-01-21 11:05:15 +11:00
Campbell Barton
0d8d26696f Cleanup: trailing space 2019-01-21 10:41:39 +11:00
Howard Trickey
b640fd829e Add miter pattern options.
Will document the new options in release notes, then in manual.
Still a bit of work to do on the bulging shape that appears
on cube corners if using arc inner miters, but will do that later.
Also need to do something smarter in clamp overlap.
2019-01-18 12:54:10 -05:00
Brecht Van Lommel
bb4c760fdd Preferences: assortment of minor layout tweaks. 2019-01-18 16:11:54 +01:00
Clément Foucault
16fac2149b Physically based defaults for Eevee Bloom and Shutter
Some of Eevee's Bloom defaults are not very good for physically based rendering. This patches addresses this issue.

This picture shows one of the problems with current default. Bloom looks very foggy:
{F6280495}
Even worse, light emitters much dimmer than the Sun can make everything equally hazy if Clamp is set to 1.0 and intensity to 0.8 (current default). Artists often forget to adjust Clamp value and do not know what value to use for realistic intensity. Also, currently both Clamp and Intensity do not have good UI ranges. This is why often Eevee renders end up very hazy and bloom often does not look right.

Bloom effect plays important role to help to distinguish between bright and relatively dim light sources. With current defaults this is broken because Clamp set to 1.0. Also, it cannot be disabled if set to 0 like expected. This patch fixes this and sets it to 0 by default. If users need to clamp, they can do so easily with UI range up to 1000. This range is good enough for most cases and provides enough precision to control lower values, and the highest value helps to limit bloom from the Sun if necessary and will leave untouched most other light emitters. If needed, much higher values for Clamp can be entered manually up to 100000. 10000 is still affects the Sun, but up to 100000 highest limit allows to clamp anything that is much brighter than the Sun if user needs to limit bloom in such cases (for example, bright explosion in the sky or anything else very bright).

I propose new default for bloom Intensity - 0.05 and UI range to suggests realistic values. Bloom Intensity > 0.1 is not realistic for clean lens but the user can enter manually much larger values if needed.

For comparison, here is a my own photo with and without bloom caused by the Sun (on second photo the Sun was occluded with an object).
{F6280500}
{F6280492}
In real life bloom is much more subtle and does not look hazy. If Clamp is disabled, then out of 0.1, 0.05 and 0.025 values I have tried, 0.05 looks most similar to the photo. Here is test render with and without bloom with the Sun in similar position like on the photo:
{F6280496}
{F6280494}
Using color probe 27x27 I compared lightness below the horizon under the Sun. In rendered by Eevee images lightness difference was 17. In case of the photos lightness difference in similar place was 11. I then compared leftmost spot (also below the horizon) and lightness difference was approximately 2 between two photos and 1 between rendered images. In other words, with these settings bloom effect is not too strong and is not too weak. Visually it may seem like decreasing bloom intensity may increase photorealism, but then bloom effect would be too localized even for the Sun.

Besides this single test, I tested in many other scenes as well, with and without the Sun, with different HDRIs, and as far as I can tell 0.05 intensity turned out to be good default - it produces bloom strong enough to be noticeable and not too hazy.

In Cycles shutter default value is 0.50, so for consistency set to 0.5 by default in Eevee too. Besides, 0.5 is typical standard for real cameras, and values higher than 0.5 usually are needed only if very strong motion blur is desired.

Here is summary of all changes:

Bloom Intensity: 0.8 > 0.05
Bloom Intensity UI range: 0-10 > 0-0.1
Bloom Clamp: 1.0 > 0.0 (disabled by default)
Bloom Clamp manual range: 0-1000 > 0-100000
Bloom Clamp UI range: 0-10 > 0-1000
Shutter: 1.0 > 0.5

This patch is related to the discussion in this thread, there are more examples of what bloom will look like with 0.05 intensity by me and others:
https://devtalk.blender.org/t/eevee-needs-to-have-physically-based-defaults/4700

Reviewers: fclem

Reviewed By: fclem

Subscribers: pablovazquez, billreynish, rboxman

Tags: #eevee

Differential Revision: https://developer.blender.org/D4212
2019-01-17 20:03:13 +01:00
Brecht Van Lommel
1a3abc7f79 Preferences: fit a little better when opened in place of properties editor. 2019-01-17 15:04:38 +01:00
Brecht Van Lommel
be079e742d Fix wrong placement of allow negative frames preference. 2019-01-17 12:41:54 +01:00