Patches to Bf Blender for CAD development. https://tornavis.org/
Go to file
Clément Foucault 2cf64b9100 EEVEE-Next: Add tile deferred lighting
This adds a tile classification pass to the gbuffer.
This is then compact into streams of tiles for each
complexity level of lighting evaluation.

The benefit over a simpler approach of using a per
object stencil value is that we can have a per
tile granularity of the lighting complexity.

To avoid quad overshading, we use a prepass that
tags different stencil values for each complexity
level. This allows to still use a fullscreen quad
for the light evaluation pass and remove the
diagonal overshading cost.

This doesn't use compute shader at all to leverage
render pass merging and in-tile memory loads.

Using `atomicOr` for adding together the `eClosureBits`
revealed to be too slow. Using multiple non-atomic
writes to many data values is faster and not much
memory hungry.

### Performance
The whole tile scheduling process takes ~70µs for
a half covered 3800x790 framebuffer and doesn't
get much more slower than this.

Using simpler lighting shader helps reduce the cost
of the lighting pass by half in most common cases.
SSS materials stay the most costly.

Pull Request: https://projects.blender.org/blender/blender/pulls/115820
2023-12-07 17:04:51 +01:00
.gitea Gitea: add note that developers must opt-out of inclusion in AUTHORS 2023-08-18 09:23:43 +10:00
.github Docs: change Git URLs to point projects.blender.org instead of git.blender.org 2023-02-07 14:23:05 +01:00
build_files CMake/MSVC: Remove stale OIIO sse flag 2023-12-07 09:02:52 -07:00
doc Fix #115056: man-page fails to build with non-portable install 2023-11-28 16:55:53 +11:00
extern Build: replace Blender specific DEBUG by standard NDEBUG 2023-12-06 16:05:14 +01:00
intern Cycles: Make OIDN on GPU use the existing SYCL queue 2023-12-07 14:16:21 +01:00
locale I18N: Updated UI translations from git/weblate (55af06d62a579dcae). 2023-12-04 12:17:10 +01:00
release Fix #115562: Issues with color picker and color values near 1 2023-12-04 20:05:59 +01:00
scripts GPv3: Overlay: Show edit lines option 2023-12-07 11:42:06 +01:00
source EEVEE-Next: Add tile deferred lighting 2023-12-07 17:04:51 +01:00
tests Cleanup: Correct path used in example help text for bl_run_operators_event_simulate.py 2023-11-27 23:42:12 +01:00
tools Cleanup: spelling in comments, variables 2023-11-27 09:54:36 +11:00
.clang-format clang-format: set BraceWrapping::AfterControlStatement to "MultiLine" 2023-05-02 09:37:08 +10:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig pyproject: add configuration for autopep8 2022-04-22 10:13:39 +10:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Ignore build files for VS and VS Code 2023-03-07 17:38:34 +01:00
AUTHORS AUTHORS: add 3 new developers 2023-11-02 16:09:11 +11:00
CMakeLists.txt CMake: Allow asserts to be enabled for release builds. 2023-12-06 23:49:42 +01:00
COPYING
GNUmakefile Fix "make doc_man" not working, after recent changes 2023-11-29 16:02:33 +11:00
README.md Update references to the new projects platform and main branch 2023-02-07 14:18:19 +01:00
make.bat Windows: Propagate errors in make.bat 2023-08-16 19:29:47 +02:00
pyproject.toml pyproject: remove tools/pyproject.toml 2023-03-01 22:18:28 +11:00

README.md

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.