Blender Git Statistics -> Developers -> fclem

Clément Foucault (fclem)

Total Commits : 2 088
Master Commits : 1 845
Branch Commits : 243
First Commit : January 3, 2017
Latest Commit : January 21, 2019 (Yesterday)

Commits by Month

DateNumber of Commits
January, 201934
December, 2018113
November, 2018110
October, 201879
September, 201866
August, 201877
July, 201894
June, 2018135
May, 2018138
April, 201897
March, 2018141
February, 2018104
January, 201877
December, 201710
November, 201738
October, 201745
September, 201766
August, 201737
July, 2017116
June, 2017116
May, 2017102
April, 201742
March, 201768
February, 2017133
January, 201750

Commit Distribution

PathNumber of Commits
master1845
hair_object1786
experimental-build1753
temp-outliner-visibility1753
collada2.81667
blender2.8_snap_gizmo1590
temp-ui-layout-2.81532
interactive_physics1512
temp-select-axis1432
hair_guides_grooming1391
hair_guides1391
temp-eeveelightcache1381
soc-2018-cycles-volumes1380
temp-benchmark1370
benchmark1370
soc-2018-bevel1364
temp-udim-images1358
tmp_hair_curves1313
temp-greasepencil-vfx1310
temp-tab_drag_drop1307
temp-sybren-cow-ocean1305
temp-greasepencil-object-stacksplit1291
temp-dynamic-overrides1290
TEMP-UI-DECOR1277
temp-flexible-spacing1260
ui_layout_gridflow1252
temp-keymap-changes1242
tmp-b28-motionpath-drawing1217
tmp-CollectionsAnim1214
temp-keymap-save1190
tmp-COW_InsertKeyframe_Fix1169
topbar1168
temp-unified-collections1167
experimental_gp_weight1163
temp-sybren-particles1158
temp-sybren-modifier-nonmesh1146
tmp-TimelineHeaderButtonsStretching1146
temp-modifier-rm-cddm1146
temp-sybren-meshdeform1144
blender2.8-snapping_with_occlusion1136
tmp-static-override-insertion1115
blender2.8-workbench1111
temp-object-multi-mode1020
temp-drawcontext854
temp-render-depsgraph831
temp-scene-obedit-remove800
temp-workspace-object-mode-removal800
temp-workspace-addons766
temp-workspace_mode689
id_override_static679
temp-workspace_active_object679
temp-group-collections655
custom-manipulators617
temp-workspace-changes564
strand_editmode527
temp-ssr478
tmp-debug-filebrowser448
temp-lightprobe-rename337
workspaces297
temp-cycles-draw-manager201
imm_port_wm_playanim162
transform-manipulators162
temp-depsgraph-layers152
temp-workspace-multi-window111
render-layers74
temp-layers-ui-table70
clay-engine70
temp-blender2.8-stable15
greasepencil-object5
greasepencil-experimental5

Favourite Files

FilenameTotal Edits
draw_manager.c291
eevee_private.h209
DRW_render.h158
eevee_engine.c144
eevee_materials.c143
eevee_lightprobes.c137
object_mode.c135
eevee_effects.c125
CMakeLists.txt122
gpu_shader_material.glsl105

File Changes

ActionTotalPer Commit
Added3640.2
Modified6 8983.3
Deleted1070.1

Code Changes

ActionTotalPer Commit
Lines Added109 66454.5
Lines Removed50 50025.1

Latest commits Feed

Revision 14b5668 by Clément Foucault (master)
20 hours 27 min ago
DRW: Fix corner indices order in clipping plane setup

Fix T60667: Eevee: reflection plane bug in rendered view.
Revision ba4de7f by Clément Foucault (master)
22 hours 53 min ago
GPUShader: Add GPU_VERTEX/FRAGMENT/GEOMETRY_SHADER defines

This makes it possible to have some code specific to each shader inside a
shader library.
Revision b5bc215 by Clément Foucault (master)
January 18, 2019, 15:30 (GMT)
View 3D Grid: Improve precision and reduce code complexity

Instead of doing manual ray-plane intersection we use normalized positions
of the grid mesh and apply scaling after interpolation so that we keep
good precision even at really far distances.

Precision is now two order of magnitude better and does not produce the
same kind of artifact at lower clip start values.

This commit also cleanup the implementation.

Fixes T58918 Grid not appearing correctly at low clip start in 2.8
Revision d5b4d71 by Clément Foucault (master)
January 18, 2019, 09:23 (GMT)
DRW: Increase frustum culling precision

Use normal_quad_v3 instead of normal_tri_v3 and compute the mean of all
corner distance during frustum plane extraction.

Fix T58243 Flickering of viewport when rotating and zooming
Revision a7b8538 by Clément Foucault (master)
January 18, 2019, 08:58 (GMT)
DRW: Fix assert when using draw debug API
Revision 16fac21 by Clément Foucault (master)
January 17, 2019, 19:03 (GMT)
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
Revision dc7e492 by Clément Foucault (master)
January 17, 2019, 18:48 (GMT)
Fix T60545: Buffer overflow in selection batch creation

Use loose_edges and loose_verts buffer instead of detecting them manually.
Revision e3b3b32 by Clément Foucault (master)
January 17, 2019, 18:48 (GMT)
DRW: Use name buffer to request uniform location before drawing.

This is in order to avoid GL call during the "cache creation" phase and
support multithreading.
Revision 844cda8 by Clément Foucault (master)
January 17, 2019, 18:48 (GMT)
DRW: Make missing uniform debuging print only once
Revision 6dccc7c by Clément Foucault (master)
January 17, 2019, 18:48 (GMT)
GPUInterface: Add builtin check in uniform location request.

This is a compile time option to remove the unecessary uniform queries.

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2019