Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2016-01-10 02:11:34 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2016-01-10 02:13:53 +0300
commit6995b4d8d96a14ea574f85658b73504fa0d8070a (patch)
treec0edd6359c7a29aaf29c32515f4aa4b9bc808798 /intern/cycles/render/tile.h
parentec20c4b558cc569e8a9d44923a2303fbc7d13523 (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/render/tile.h')
-rw-r--r--intern/cycles/render/tile.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/intern/cycles/render/tile.h b/intern/cycles/render/tile.h
index 09e1b25dda7..700e00c9e0a 100644
--- a/intern/cycles/render/tile.h
+++ b/intern/cycles/render/tile.h
@@ -47,7 +47,8 @@ enum TileOrder {
TILE_RIGHT_TO_LEFT = 1,
TILE_LEFT_TO_RIGHT = 2,
TILE_TOP_TO_BOTTOM = 3,
- TILE_BOTTOM_TO_TOP = 4
+ TILE_BOTTOM_TO_TOP = 4,
+ TILE_HILBERT_SPIRAL = 5,
};
/* Tile Manager */