Commit Graph

9736 Commits

Author SHA1 Message Date
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
Brecht Van Lommel
06ee560da7 Fix misleading autokeyframing preference, it's only for new scenes. 2019-01-17 12:00:18 +01:00
Brecht Van Lommel
ad707115d5 Preferences: add new Viewport, Animation, Navigation, Save & Load sections.
This further changes the preferences organization, to avoid grouping unrelated
settings together. With more sections we can also expand more panels by default,
making it possible to quickly go through sections and see the settings of each.

Panels with less used settings are still collapsed by default, to keep all panel
headers visible without scrolling.

Differential Revision: https://developer.blender.org/D4216
2019-01-17 11:44:33 +01:00
Brecht Van Lommel
4f9bcd6166 Preferences: tweaks to lights section layout. 2019-01-17 11:28:56 +01:00
Brecht Van Lommel
f351c7bf23 Preferences: tweak themes/addons/keyamps buttons at the top.
Make layouts more consistent between them, give more room for search field.
Addon online resources links were removed as the links are dead.
2019-01-17 11:28:56 +01:00
Brecht Van Lommel
18905b4359 Fix preferences layout not shrinking properly on high DPI display. 2019-01-17 11:28:56 +01:00
Brecht Van Lommel
fb9243787b Fix too narrow buttons in addon preferences. 2019-01-16 19:32:10 +01:00
Brecht Van Lommel
ece72e15d5 Preferences: remove OpenGL select method preference.
Deprecated GL_SELECT no longer works in OpenGL core profile, so there is no
reason to have this.
2019-01-16 16:16:42 +01:00
Brecht Van Lommel
49562da98d Preferences: remove unnecessary 16 bit textures preference.
This is a leftover from a time when these were not supported on all GPUs.
2019-01-16 16:16:42 +01:00
Brecht Van Lommel
a8a89db9c8 Preferences: always do GPU accelerated mipmapping, remove preference.
This setting was added long ago to be cautious in case some GPUs did not
support this propertly, no reason to have it anymore.
2019-01-16 16:16:42 +01:00
Bastien Montagne
514e53bb80 Expose batch IDs deletion in python API.
Follow-up to previous commit.
2019-01-16 12:02:37 +01:00
Brecht Van Lommel
b1fa2a8fbb Fix T59826: grease pencil crash with empty material slot. 2019-01-15 18:54:11 +01:00
Sergey Sharybin
eb61e6840e Merge branch 'blender2.7' 2019-01-15 18:42:37 +01:00
Sergey Sharybin
cac3e16cfb Sequencer: Restore change menu
It was still used by C-key menu, and is very handy to have
when working on a complex edit files.

Was initially removed by e9d06f0866.
2019-01-15 18:34:21 +01:00
Brecht Van Lommel
bb70594c1b Fix T60497: edgering select not available with LMB select and MMB emulation.
This is now handled with Ctrl + double click LMB, similar to loop select.
2019-01-15 11:42:08 +01:00
Campbell Barton
0b9a65151d Fix T60410: Crash adjusting torus w/ enter edit-mode preference 2019-01-15 21:36:50 +11:00
Campbell Barton
07541052a0 Fix T60512: Weight paint brushes show weight when unused 2019-01-15 11:06:36 +11:00
Christopher Peerman
4693207918 Windows: add support for Windows Ink.
Before this Blender always needed the Wintab driver. This adds support for the
native pressure API in Windows 8+, making it possible to get pressure sensitivity
on e.g. Microsoft Surface hardware without any extra drivers.

By default Blender will automatically use Wintab if available, and if not use
Windows Ink instead. There is also a new user preference to explicitly specify
which API to use if automatic detection fails.

Fixes T57869: no pressure sensitivity with Surface pen or laptop.

Code by Christopher Peerman with some tweaks by Brecht Van Lommel.

Differential Revision: https://developer.blender.org/D4165
2019-01-14 20:48:11 +01:00
Campbell Barton
a6b2ec0bc2 Fix toolbar accelerator w/ user defined keyconfig 2019-01-14 18:59:26 +11:00
Richard Antalik
b3dbe17658 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-13 21:57:09 -08:00
Campbell Barton
9c7adcfd8b Fix T60388: Warning entering text edit mode 2019-01-14 14:16:08 +11:00
Antonioya
bb9c9d0eaa GP: New Cutter, Constraints and Segment selection
This commit groups a set of new tools that were tested in grease pencil object branch before moving to master. We decide to do all the development in a separated branch because it could break master during days or weeks before the new tools were ready to deploy.

The commit includes:

- New Cutter tool to trim strokes and help cleaning up drawings.

- New set of constraints and guides to draw different types of shapes. All the credits for this development goes to Charlie Jolly (@charlie), thanks for your help!

- Segment selection mode to select strokes between intersections.

- New operator to change strokes cap mode.

- New option to display only keyframed frames. This option is very important when fill strokes with color.

- Multiple small fixes and tweaks.

Thanks to @pepeland and @mendio for their ideas, tests, reviews and support.

Note: Still pending the final icons for Cutter in Toolbar and Segment Selection in Topbar. @billreynish could help us here?
2019-01-11 19:21:56 +01:00
Sergey Sharybin
1c7695b848 Merge branch 'blender2.7' 2019-01-11 18:09:05 +01:00
Sergey Sharybin
ff44a9957e Update bundled version of NUMA API library 2019-01-11 17:47:10 +01:00
Brecht Van Lommel
a1764cedbd Fix Python errors batch generating preview images. 2019-01-11 17:26:54 +01:00
Antonioya
a369004543 GP: Fix missing Fill properties in Topbar
After some internal changes in the topbar, some properties were not visible if use col() instead of row() in python script.
2019-01-11 17:22:13 +01:00
Clément Foucault
b98e6743dc Texture Paint: Add filtering option for texture paint overlay
The overlay should now use the texture interpolation setting in material
mode.

In image mode, there is now a new button to let the user choose the texture
filter. The option is located in the Texture Slots popover and only shows
in Image mode.
2019-01-11 16:00:23 +01:00
Campbell Barton
459c4e8e6e Theme: update blender light theme preferences
Copy from properties space.
2019-01-11 15:11:00 +11:00
Campbell Barton
5119d72f9a Theme: disable blender_light 3D view gradient
- Lost contrast w/ faded wire for dupli/set-scene.
- Make grid darker to increase contrast.
2019-01-11 15:02:58 +11:00
Campbell Barton
f98e4cbedb Preferences: remove author field
This was only used by collada export metadata.

If metadata like this is needed, we can use per-filetype preferences,
to make it clear when user identifiable information is being used.
2019-01-11 11:00:33 +11:00
Campbell Barton
638079af20 Cleanup: unused vars 2019-01-11 10:52:26 +11:00
Justin Jones
db36eff9f7 UI: make pie menus stick only when tapping key.
When holding down the key for a while, the pie menu will disappear when
releasing the key. This is under the assumption that in this case the user
decided to cancel the action.

Differential Revision: https://developer.blender.org/D4180
2019-01-10 15:55:34 +01:00
Philipp Oeser
f572a157ba Fix T59913: error saving cloth preset
thx @rombout for investigation!
2019-01-10 15:53:32 +01:00
Campbell Barton
a44ac44c1e Fix anim_utils.bake_action typo
D4172 by @rcorre
2019-01-10 13:11:48 +11:00
Campbell Barton
1e00f91760 Fix gizmo orientation w/ shear tool 2019-01-10 12:25:09 +11:00
Campbell Barton
609d4f5c92 Fix T60354: Paint color shown when not used
Add 'has_color' check to avoid duplicated tool checks.

Also abbreviate text descriptions.
2019-01-10 10:12:23 +11:00
Bastien Montagne
90e354fd7a Revert/Redo ugly rBd12b3767f81d commit (i.e. add locked sorting option to UIList).
Too many things done wrong in original rBd12b3767f81d to list them all
here, hopefully nothing bad sneaked in again this time :|

Also cleaned up a little the 'sort by name', even though (since we only
have two options by default, sort by index and by name) we can abuse it
as a binary option for now, this is not a bitflag...
2019-01-09 15:51:46 +01:00
Campbell Barton
df8e8e5b6b UI: use keymap introspection for tooltip creation
Also support non existing keymap items which gave an error, see: T60335
2019-01-09 12:27:58 +11:00
Philipp Oeser
54985ab5f5 Quick Explode: replace BI based material handling (using 'fade'/'blend')
using a simple shader graph mixing Transparent BSDF now

Fixes T59185

Reviewers: brecht

Maniphest Tasks: T59185

Differential Revision: https://developer.blender.org/D4181
2019-01-08 15:35:06 +01:00
Philipp Oeser
4b55945da6 Quick Explode: use keyword argument 2019-01-08 15:32:45 +01:00
Campbell Barton
24a84c4742 Fix T60314: Missing strength w/ weight gradient 2019-01-08 23:49:58 +11:00
Jacques Lucke
f9cefc4d17 Fix T60291: Wrong tooltip in for Add Cube tool 2019-01-08 12:24:51 +01:00
Campbell Barton
ef818009e0 Fix T60306: Circle select tool behaves like a mode 2019-01-08 22:15:00 +11:00
Philipp Oeser
f2d2bafe85 fix rotational limits not showing for GENERIC ridgid body constraint
oversight in rB502aabb9d0c5

part of T60290
2019-01-08 10:21:26 +01:00
Campbell Barton
859a4dd51b Fix workbench shading pie menu
Expand the enum since it's dynamic, depending on the render engine.
2019-01-08 17:17:52 +11:00
Philipp Oeser
a0d456daf8 Vertex Paint: support vertex masking
Working in 2.7x, was just disabled in 2.8x.

Fixes T60256
2019-01-08 15:18:28 +11:00
Brecht Van Lommel
3d2ff33c26 Fix T60167: wrong shader nodes in Eevee add menu. 2019-01-07 17:32:40 +01:00
Antonioya
0218268546 GP: Hide Options and Curves popovers for Fill brushes 2019-01-07 16:22:48 +01:00