Blender Git Commits

Blender Git "eevee-rewrite" branch commits.

October 8, 2021, 15:58 (GMT)
EEVEE: Fix Crash with some geometry type
October 8, 2021, 15:58 (GMT)
EEVEE: Material: Add thickness output

This only adds the output but the output is not yet used.

This thickness output is meant to control the aspect of subsurface,
refraction, absorption and volume shaders.

The value expected is the mean thickness inside the object at the
shading point. The source can be a vertex color or a texture map baked
from a raytracer.
October 8, 2021, 15:58 (GMT)
EEVEE: Transmittance: Add back light transmittance

Same as SSS this has been rewritten to support varying SSS radius.

Instead of relying on shadowmap hack to improve the transmittance
artifact (previously called translucency) we exposed a min thickness
output that will reduce the maximum of light bleeding that can happen
at the shading point. This is far from perfect but at least it is
tweakable.

The effect is now cheaper and the option to enable it is now gone.
It can always be artificially disabled by making the thickness bigger
than the sss radius.

The effect is always enabled for all SSS surfaces and will even be
applied on forward shaded object (alpha blend mode).
October 8, 2021, 15:58 (GMT)
EEVEE: Subsurface Scattering: New implementation

This new implementation follows the technique described in
"Efficient screen space subsurface scattering Siggraph 2018".

Compared to the old implementation it fixes a lot of issues at
the cost of it being slower. This fixes:
- Light leaking between different objects.
- Light leaking between different surfaces with different depths.
- SSS radii are now "texturable" per pixel. No SSS surfaces limits.
- Noise should be lower.
- Precomputation is only done once for all SSS surfaces which lowers the
per material storage and precomputation time.

Implementation is also simpler as it is only a one pass processing.

We differ from the reference presentation by not precomputing the
RGB weights per samples. We actually compute them on the fly in order
to support varying SSS radii.

Notes:
- SSS IOR and SSS anisotropy are not supported.
- Object level light leak prevention might not work for high number of
objects in the scene (> 1024). In this case light leak might occur.
Adding or deleting (hidding) objects in the scene might change which
objects can leak.
October 8, 2021, 15:58 (GMT)
EEVEE: Fix smooth transition when using render borders

The first sample buffer is fullscreen and needs to have its uvs
corrected to match the render border viewport.
October 6, 2021, 10:08 (GMT)
EEVEE: Fix double Stroke color in Panel

The stroke color was displayed in the side panel and this must be used only in 3D View.
September 29, 2021, 16:10 (GMT)
EEVEE: Fix shader compilation caused by latest merge
September 29, 2021, 16:06 (GMT)
Merge branch 'draw-viewport-data' into eevee-rewrite
September 29, 2021, 16:05 (GMT)
DRW: Fix implicit convertion warning on MSVC
September 29, 2021, 15:26 (GMT)
Merge branch 'draw-viewport-data' into eevee-rewrite
September 29, 2021, 15:25 (GMT)
Merge branch 'master' into draw-viewport-data
September 29, 2021, 15:24 (GMT)
Merge branch 'draw-viewport-data' into eevee-rewrite

# Conflicts:
# source/blender/draw/engines/eevee/eevee_cryptomatte.c
# source/blender/draw/engines/eevee/eevee_effects.c
# source/blender/draw/engines/eevee/eevee_engine.c
# source/blender/draw/engines/eevee/eevee_lookdev.c
# source/blender/draw/engines/eevee/eevee_materials.c
# source/blender/draw/engines/eevee/eevee_motion_blur.c
# source/blender/draw/engines/eevee/eevee_private.h
# source/blender/draw/engines/eevee/eevee_render.c
# source/blender/draw/engines/eevee/eevee_subsurface.c
# source/blender/draw/engines/eevee/eevee_volumes.c
# source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
# source/blender/draw/engines/eevee/shaders/effect_downsample_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl
# source/blender/draw/intern/DRW_render.h
# source/blender/draw/intern/draw_cache.h
# source/blender/gpu/GPU_material.h
# source/blender/gpu/intern/gpu_codegen.c
# source/blender/gpu/intern/gpu_material.c
# source/blender/gpu/shaders/gpu_shader_codegen_lib.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_hair_info.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl
# source/blender/makesdna/DNA_gpencil_types.h
# source/blender/makesdna/DNA_node_types.h
# source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
# source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
September 29, 2021, 09:31 (GMT)
Merge branch 'master' into draw-viewport-data

# Conflicts:
# source/blender/draw/DRW_engine.h
# source/blender/draw/intern/draw_manager.c
# source/blender/draw/intern/draw_manager.h
September 29, 2021, 09:24 (GMT)
Cleanup: Remove compiler warning and fix some comments
September 29, 2021, 09:14 (GMT)
EEVEE: Fix crash when destroying the Instance (in debug build)

This was caused by the StructArrayBuffer wrapper not being tagged as NonMovable.
The UBO was in fact being freed at creation time in debug build, but the
pointer was kept as valid in the copied wrapper.

Changing the higher level structure to not use the copy constructor to avoid this.
September 29, 2021, 09:14 (GMT)
Cleanup: Remove compiler warnings
September 15, 2021, 15:15 (GMT)
EEVEE: Film: Make smooth transition not rely on dtxl->color persistence

This is a needed change for the viewport compositor. The compositor
needs to draw to `dtxl->color` to have correct overlay / background
composition.

The solution here is to have a separate buffer that keeps the first
sample we blend from. This increases VRAM usage but it is the most
elegant option.
September 13, 2021, 15:14 (GMT)
EEVEE: More Windows 64bits changes

Missing in previous commit
September 13, 2021, 15:02 (GMT)
EEVEE: Fix Windows 64bits error

Windows is different of Linux
September 12, 2021, 17:37 (GMT)
EEVEE: Fix compiler errors in Windows

By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021