diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2016-01-10 02:11:34 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2016-01-10 02:13:53 +0300 |
commit | 6995b4d8d96a14ea574f85658b73504fa0d8070a (patch) | |
tree | c0edd6359c7a29aaf29c32515f4aa4b9bc808798 /intern/cycles/blender/addon | |
parent | ec20c4b558cc569e8a9d44923a2303fbc7d13523 (diff) |
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
Diffstat (limited to 'intern/cycles/blender/addon')
-rw-r--r-- | intern/cycles/blender/addon/properties.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index f48bc93cabf..a64a033591a 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -92,6 +92,7 @@ enum_tile_order = ( ('LEFT_TO_RIGHT', "Left to Right", "Render from left to right"), ('TOP_TO_BOTTOM', "Top to Bottom", "Render from top to bottom"), ('BOTTOM_TO_TOP', "Bottom to Top", "Render from bottom to top"), + ('HILBERT_SPIRAL', "Hilbert Spiral", "Render in a Hilbert Spiral"), ) enum_use_layer_samples = ( |