Blender Git Commit Log

All Blender Git commits.

Page: 923 / 8462

February 13, 2021, 17:49 (GMT)
EEVEE: Fix incorrect fresnel function.

The optimized version was not correct. Also it is not showing any benefit
over the non optimized version.
February 13, 2021, 17:43 (GMT)
EEVEE: Refactor closure_lit_lib.glsl

This refactor was needed for some reasons:
- closure_lit_lib.glsl was unreadable and could not be easily extended to use new features.
- It was generating ~5K LOC for any shader. Slowing down compilation.
- Some calculations were incorrect and BSDF/Closure code had lots of workaround/hacks.

What this refactor does:
- Add some macros to define the light object loops / eval.
- Clear separation between each closures which now have separate files. Each closure implements the eval functions.
- Make principled BSDF a bit more correct in some cases (specular coloring, mix between glass and opaque).
- The BSDF term are applied outside of the eval function and on the whole lighting (was separated for lights before).
- Make light iteration last to avoid carrying more data than needed.
- Makes sure that all inputs are within correct ranges before evaluating the closures (use `safe_normalize` on normals).
- Making each BSDF isolated means that we might carry duplicated data (normals for instance) but this should be optimized by compilers.
- Makes Translucent BSDF its own closure type to avoid having to disable raytraced shadows using hacks.
- Separate transmission roughness is now working on Principled BSDF.
- Makes principled shader variations using constants. Removing a lot of duplicated code. This needed `const` keyword detection in `gpu_material_library.c`.
- SSR/SSS masking and data loading is a bit more consistent and defined outside of closure eval. The loading functions will act as accumulator if the lighting is not to be separated.
- SSR pass now do a full deferred lighting evaluation, including lights, in order to avoid interference with the closure eval code. However, it seems that the cost of having a global SSR toggle uniform is making the surface shader more expensive (which is already the case, by the way).
- Principle fully black specular tint now returns black instead of white.
- This fixed some artifact issue on my AMD computer on normal surfaces (which might have been some uninitialized variables).
- This touched the Ambient Occlusion because it needs to be evaluated for each closure. But to avoid the cost of this, we use another approach to just pass the result of the occlusion on interpolated normals and modify it using the bent normal for each Closure. This tends to reduce shadowing. I'm still looking into improving this but this is out of the scope of this patch.
- Performance might be a bit worse with this patch since it is more oriented towards code modularity. But not by a lot.

Render tests needs to be updated after this.

Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D10390

# Conflicts:
# source/blender/draw/engines/eevee/eevee_shaders.c
# source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl
# source/blender/draw/intern/shaders/common_math_lib.glsl
February 13, 2021, 14:37 (GMT)
Build: fix macOS minimum version link warning with pystring

Patch OpenColorIO again to pass along build flags, and remove outdated
patches which were no longer being used.
February 13, 2021, 14:35 (GMT)
Fix geometry nodes build error with TBB enabled and OpenVDB disabled

Don't rely on TBB includes coming along with OpenVDB.
February 13, 2021, 12:09 (GMT)
Fix T85573: Building with Python 3.10a5 fails

Replace deprecated _PyUnicode_AsString{AndSize} usage.

T83626 still needs to be resolved before 3.10 is usable.
February 13, 2021, 10:17 (GMT)
Fixes T84651: Weight paint gradient doesn't auto-normalize weights

Auto-normalize when the option is enabled.

Ref D10239 by @PratikPB2123 with minor edits.
February 13, 2021, 07:40 (GMT)
Merge branch 'master' into temp-gpencil-io
February 13, 2021, 07:39 (GMT)
Merge branch 'blender-v2.92-release'
February 13, 2021, 07:38 (GMT)
GPencil: Try again to fix compiler warnings

The windows compiler is not as sensible to this warnings as Linux.
February 13, 2021, 06:44 (GMT)
Cleanup: spelling
February 13, 2021, 06:40 (GMT)
Cleanup: clang-format
February 13, 2021, 06:40 (GMT)
Cleanup: macro hygiene, use parenthesis around operators
February 13, 2021, 06:40 (GMT)
Cleanup: use doxy sections
February 13, 2021, 05:29 (GMT)
Merge branch 'blender-v2.92-release'
February 13, 2021, 05:29 (GMT)
Merge branch 'blender-v2.92-release'
February 13, 2021, 05:27 (GMT)
Fix brace placement from recent fix for T85581

ccea44e76bbd06309e0012ed3213a9028e8cb32c missed this expression.
Revision 17daf91 by Nathan Craddock (master)
February 13, 2021, 01:31 (GMT)
Cleanup: Remove unused outliner enum values

Removes values from various Outliner context menu enums that were unused.
Many of these had been commented out for years. Also deletes some
unused code related to the removed enums. No functional changes.
February 13, 2021, 00:33 (GMT)
RNA Manual Reference: Update mappings
February 12, 2021, 23:54 (GMT)
EEVEE: Refactor closure_lit_lib.glsl

This refactor was needed for some reasons:
- closure_lit_lib.glsl was unreadable and could not be easily extended to use new features.
- It was generating ~5K LOC for any shader. Slowing down compilation.
- Some calculations were incorrect and BSDF/Closure code had lots of workaround/hacks.

What this refactor does:
- Add some macros to define the light object loops / eval.
- Clear separation between each closures which now have separate files. Each closure implements the eval functions.
- Make principled BSDF a bit more correct in some cases (specular coloring, mix between glass and opaque).
- The BSDF term are applied outside of the eval function and on the whole lighting (was separated for lights before).
- Make light iteration last to avoid carrying more data than needed.
- Makes sure that all inputs are within correct ranges before evaluating the closures (use `safe_normalize` on normals).
- Making each BSDF isolated means that we might carry duplicated data (normals for instance) but this should be optimized by compilers.
- Makes Translucent BSDF its own closure type to avoid having to disable raytraced shadows using hacks.
- Separate transmission roughness is now working on Principled BSDF.
- Makes principled shader variations using constants. Removing a lot of duplicated code. This needed `const` keyword detection in `gpu_material_library.c`.
- SSR/SSS masking and data loading is a bit more consistent and defined outside of closure eval. The loading functions will act as accumulator if the lighting is not to be separated.
- SSR pass now do a full deferred lighting evaluation, including lights, in order to avoid interference with the closure eval code. However, it seems that the cost of having a global SSR toggle uniform is making the surface shader more expensive (which is already the case, by the way).
- Principle fully black specular tint now returns black instead of white.
- This fixed some artifact issue on my AMD computer on normal surfaces (which might have been some uninitialized variables).
- This touched the Ambient Occlusion because it needs to be evaluated for each closure. But to avoid the cost of this, we use another approach to just pass the result of the occlusion on interpolated normals and modify it using the bent normal for each Closure. This tends to reduce shadowing. I'm still looking into improving this but this is out of the scope of this patch.
- Performance might be a bit worse with this patch since it is more oriented towards code modularity. But not by a lot.

Render tests needs to be updated after this.

Differential Revision: https://developer.blender.org/D10390
February 12, 2021, 22:08 (GMT)
Cleanup: Fix clang compile warning

Use a reference instead of copying the string.

Differential Revision: https://developer.blender.org/D10411
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021