Cycles: Use stochastic sampling to speed up tricubic volume filter
Stochastically turn a tricubic filter into a trilinear one. This reduces the number of taps from 64 to 8. It combines ideas from the "Stochastic Texture Filtering" paper and our previous GPU sampling of 3D textures. This is currently only used in a few places where we know stochastic interpolation is valid or close enough in practice. * Principled volume density, color and temperature * Motion blur velocity On an Macbook Pro M3 with the openvdb_smoke.blend regression test and cubic sampling, this gives a ~2x speedup for CPU and ~4x speedup for GPU. However it also increases noise, usually only a little. Equal time renders for this scene show a clear reduction in noise for both CPU and GPU. Note we can probably get a bigger speedup with acceptable noise trade-off using full stochastic sampling, but will investigate that separately. Pull Request: https://projects.blender.org/blender/blender/pulls/132908
This commit is contained in:
BIN
tests/files/render/openvdb/cycles_renders/fire.png
(Stored with Git LFS)
BIN
tests/files/render/openvdb/cycles_renders/fire.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/openvdb/cycles_renders/smoke_color.png
(Stored with Git LFS)
BIN
tests/files/render/openvdb/cycles_renders/smoke_color.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/openvdb/cycles_renders/smoke_fire.png
(Stored with Git LFS)
BIN
tests/files/render/openvdb/cycles_renders/smoke_fire.png
(Stored with Git LFS)
Binary file not shown.
Reference in New Issue
Block a user