Blender Git Statistics -> Developers -> lukasstockner97

Lukas Stockner (lukasstockner97)

Total Commits : 778
Master Commits : 261
Branch Commits : 517
First Commit : January 14, 2015
Latest Commit : February 14, 2021

Commits by Month

DateNumber of Commits
February, 20211
January, 20213
December, 20201
November, 20200
October, 20205
September, 20200
August, 20203
July, 20209
June, 20204
May, 20201
April, 20200
March, 20200
February, 20209
January, 20204
December, 201923
November, 20197
October, 20190
September, 20193
August, 20190
July, 20199
June, 20190
May, 20194
April, 20190
March, 20190
February, 20198
January, 20197
December, 20181
November, 20184
October, 201813
September, 20181
August, 20183
July, 201823
June, 201875
May, 201810
April, 20182
March, 20181
February, 20180
January, 20182
December, 20172
November, 20177
October, 20170
September, 20171
August, 20175
July, 20172
June, 201712
May, 201736
April, 201726
March, 201753
February, 201750
January, 201736
December, 201619
November, 201653
October, 201619
September, 201621
August, 201660
July, 201650
June, 201635
May, 201612
April, 20169
March, 20166
February, 20163
January, 20166
December, 20153
November, 20152
October, 20158
September, 20150
August, 20150
July, 20152
June, 20150
May, 20150
April, 20152
March, 20150
February, 20150
January, 20152

Commit Distribution

PathNumber of Commits
temp-cycles-denoising320
master261
soc-2016-cycles_denoising227
temp-udim-images77
temp-fracture-modifier-2.833
fracture_modifier-master33
fracture_modifier33
blender-v2.78c-release30
blender-v2.78b-release30
experimental-build22
temp-xinput-tablet13
temp-cycles-microdisplacement12
hair_object7
temp-outliner-visibility7
gsoc-2018-many-light-sampling6
temp-greasepencil-vfx6
soc-2020-production-ready-light-tree-26
temp-greasepencil-object-stacksplit6
soc-2020-production-ready-light-tree6
temp-select-axis5
benchmark5
temp-tab_drag_drop5
soc-2018-cycles-volumes5
hair_guides_grooming5
collada2.85
soc-2018-bevel5
temp-benchmark5
hair_guides5
blender2.8_snap_gizmo5
temp-eeveelightcache5
temp-ui-layout-2.85
temp-dynamic-overrides5
interactive_physics5
temp-sybren-cow-ocean5
TEMP-UI-DECOR5
tmp_hair_curves5
compositor-20164
blender-v2.78-release4
tmp-b28-motionpath-drawing3
blender-v2.79b-release3
temp-keymap-save3
blender-v2.79a-release3
temp-flexible-spacing3
temp-keymap-changes3
ui_layout_gridflow3
tmp-CollectionsAnim3
blender-v2.79-release2
uv_unwrapping_slim_algorithm2
experimental_gp_weight2
id_override_static2
id_copy_refactor1
custom-manipulators1
temp-gpencil-eval1
soc-2019-npr1
greasepencil-experimental1
temp-lanpr-staging1
tmp-TimelineHeaderButtonsStretching1
temp-workspace-changes1
temp-scene-obedit-remove1
tmp-2.83-cycles-rtx3-kernels1
asset-engine--archived1
temp-sybren-particles1
tmp-T806031
temp-blender-2.81-release-with-wrong-merge1
temp-workspace-addons1
temp-render-depsgraph1
workspaces1
temp_cryptomatte1
asset-engine1
temp-sybren-modifier-nonmesh1
tmp-static-override-insertion1
temp-unified-collections1
temp-sybren-meshdeform1
temp-group-collections1
tmp-debug-filebrowser1
strand_editmode1
temp-object-multi-mode1
blender2.8-workbench1
temp-workspace_mode1
tmp-COW_InsertKeyframe_Fix1
greasepencil-refactor1
temp-modifier-rm-cddm1
topbar1
blender2.8-snapping_with_occlusion1
temp-drawcontext1
temp-workspace_active_object1
temp-ssr1
cycles_unbiased_volumes1
greasepencil-object1
temp-lightprobe-rename1
blender-v2.83-release1
temp-workspace-object-mode-removal1

Favourite Files

FilenameTotal Edits
device_cpu.cpp127
blender_session.cpp109
kernel_types.h101
device_cuda.cpp101
session.cpp83
image_ops.c69
buffers.cpp68
blender_sync.cpp67
nodes.cpp66
session.h63

File Changes

ActionTotalPer Commit
Added4030.5
Modified7 6679.9
Deleted3220.4

Code Changes

ActionTotalPer Commit
Lines Added39 61963.5
Lines Removed23 90338.3

Latest commits Feed

Revision 2f6d62b by Lukas Stockner (master)
February 14, 2021, 16:07 (GMT)
Cycles: Implement Dwivedi guiding for path-traced subsurface scattering

Cycles has supported path-traced subsurface scattering for a while, but while it's
more accurate than other approaches, the increase in noise makes it an expensive option.

To improve this, this patch implements Dwivedi guiding, a technique that is based on
zero-variance random walk theory from particle physics and helps to produce shorter
random walks with more consistent throughput.

The idea behind this is that in non-white materials, each scattering event inside the
medium reduces the path throughput. Therefore, the darker the material is, the lower the
contribution of paths that travel far from the origin is.
In order to reduce variance, Dwivedi guiding uses modified direction and distance sampling
functions that favor paths which go back towards the medium interface.
By carefully selecting these sampling distributions, variance can be greatly reduced, and
as a neat side effect shorter paths are produced, which speeds up the process.

One limitation of just blindly applying this is that the guiding is derived from the
assumption of a medium that covers an infinite half-space. Therefore, at corners or thin
geometry where this does not hold, the algorithm might lead to fireflies.
To avoid this, the implementation here uses MIS to combine the classic and guided sampling.
Since each of those works on one of the three color channels, the final estimator combines
six sampling techniques. This results in some unintuitive math, but I tried to structure
it in a way that makes some sense.

Another improvement is that in areas where the other side of the mesh is close (e.g. ears),
the algorithm has a chance to switch to guiding towards the other side. This chance is based
on how deep the random walk is inside the object, and once again MIS is applied to the
decision, giving a total of nine techniques.

Combining all this, the noise of path-traced subsurface scattering is reduced significantly.
In my testing with the Rain character model and a simple lighting setup, the path-traced
SSS is now actually less noisy than the Christensen-Burley approximation at same render time
while of course still being significantly more realistic.

Differential Revision: https://developer.blender.org/D9932
Revision 0f2ae61 by Lukas Stockner (master)
January 14, 2021, 21:03 (GMT)
Use mmap() IO for reading uncompressed .blends

Instead of submitting tons of tiny IO syscalls, we can speed things up
significantly by `mmap`ing the .blend file into virtual memory and directly
accessing it.

In my local testing, this speeds up loading the Dweebs file with all its
linked files from 19sec to 10sec (on Linux).

As far as I can see, this should be supported on Linux, OSX and BSD.
For Windows, a second code path uses `CreateFileMapping` and
`MapViewOfFile` to achieve the same result.

Reviewed By: mont29, brecht

Differential Revision: https://developer.blender.org/D8246
Revision b70f4a2 by Lukas Stockner (master)
January 11, 2021, 20:04 (GMT)
Fix T84496: Cycles: Tile stealing does not work with NLM

Reviewed By: brecht

Maniphest Tasks: T84496

Differential Revision: https://developer.blender.org/D10066
Revision 688e5c6 by Lukas Stockner (master)
January 11, 2021, 20:04 (GMT)
Fix T82351: Cycles: Tile stealing glitches with adaptive sampling

In my testing this works, but it requires me to remove the min(start_sample...) part in the
adaptive sampling kernel, and I assume there's a reason why it was there?

Reviewed By: brecht

Maniphest Tasks: T82351

Differential Revision: https://developer.blender.org/D9445
Revision 8491e4a by Lukas Stockner (master)
December 25, 2020, 22:13 (GMT)
Fix unreported: Cycles CLI device override doesn't set peer memory usage flag

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D9929
Revision 64faa59 by Lukas Stockner (master)
October 31, 2020, 13:04 (GMT)
Cycles: Fix debug compilation after tile stealing commit
Revision 523414d by Lukas Stockner (master)
October 31, 2020, 00:57 (GMT)
Cleanup: clang-format
Revision 517ff40 by Lukas Stockner (master)
October 31, 2020, 00:57 (GMT)
Cycles: Implement tile stealing to improve CPU+GPU rendering performance

While Cycles already supports using both CPU and GPU at the same time, there
currently is a large problem with it: Since the CPU grabs one tile per thread,
at the end of the render the GPU runs out of new work but the CPU still needs
quite some time to finish its current times.

Having smaller tiles helps somewhat, but especially OpenCL rendering tends to
lose performance with smaller tiles.

Therefore, this commit adds support for tile stealing: When a GPU device runs
out of new tiles, it can signal the CPU to release one of its tiles.
This way, at the end of the render, the GPU quickly finishes the remaining
tiles instead of having to wait for the CPU.

Thanks to AMD for sponsoring this work!

Differential Revision: https://developer.blender.org/D9324
Revision 350ed86 by Lukas Stockner (master)
October 2, 2020, 17:31 (GMT)
Cleanup: clang-format
Revision cfa101c2 by Lukas Stockner (master)
October 2, 2020, 17:26 (GMT)
Cycles: Add command line option for overriding the compute device

The current way of setting the compute device makes sense for local
use, but for headless rendering it it a massive pain to get Cycles
to use the correct device, usually involving entire Python scripts.

Therefore, this patch adds a simple command-line option to Blender
for specifying the type of device that should be used. If the option
is present, the settings in the user preferences and the scene are
ignored, and instead all devices matching the specified type are used.

Differential Revision: https://developer.blender.org/D9086

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