Patches to Bf Blender for CAD development.
https://tornavis.org/
2cf64b9100
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 |
||
---|---|---|
.gitea | ||
.github | ||
build_files | ||
doc | ||
extern | ||
intern | ||
locale | ||
release | ||
scripts | ||
source | ||
tests | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
AUTHORS | ||
CMakeLists.txt | ||
COPYING | ||
GNUmakefile | ||
README.md | ||
make.bat | ||
pyproject.toml |
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.
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.