Go to file
Lukas Stockner 6995b4d8d9 Cycles: Adding Hilbert Spiral as a tile order for rendering
This patch adds the "Hilbert Spiral", a custom-designed continuous space-filling curve, as a tile order for rendering in Cycles.
It essentially works by dividing the tiles into tile blocks which are processed in a spiral outwards from the center. Inside each
block, the tiles are processed in a regular Hilbert curve pattern. By rotating that pattern according to the spiral direction,
a continuous curve is obtained, which helps with cache coherency and therefore rendering speed.

The curve is a compromise between the faster-rendering Bottom-to-Top etc. orders and the Center order, which is a bit slower,
but starts with the more important areas. The Hilbert Spiral also starts in the center (unless huge tiles are used) and is still
marginally slower than Bottom-to-Top, but noticeably faster than Center.

Reviewers: sergey, #cycles, dingto

Reviewed By: #cycles, dingto

Subscribers: iscream, gregzaal, sergey, mib2berlin

Differential Revision: https://developer.blender.org/D1166
2016-01-10 00:13:53 +01:00
build_files install_deps: bump OIIO and OSL to 1.6.9. 2016-01-08 18:57:58 +01:00
doc Remove SCons building system 2016-01-04 14:20:48 +05:00
extern MSVC 2015 do not redefine snprintf 2016-01-09 08:55:58 +01:00
intern Cycles: Adding Hilbert Spiral as a tile order for rendering 2016-01-10 00:13:53 +01:00
release Audaspace: Sequencer sound bugfix and mono UI. 2016-01-09 02:35:30 +01:00
source DNA: remove endian switching long checks 2016-01-10 07:47:08 +11:00
tests Correct include directories for GTests 2016-01-04 22:16:14 +05:00
.arcconfig Use HTTPS protocol for arc 2013-12-24 22:57:27 +06:00
.gitignore Git ignore BUILD_NOTES.txt from install_deps.sh. 2015-11-23 20:17:02 +01:00
.gitmodules Remove SCons building system 2016-01-04 14:20:48 +05:00
CMakeLists.txt CMake: Fix typo in comment 2016-01-05 19:42:16 +05:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Minor edits to sync make.bat & makefile 2016-01-04 20:42:00 +11:00
make.bat Minor edits to sync make.bat & makefile 2016-01-04 20:42:00 +11:00