diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-03-08 23:52:58 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-03-08 23:52:58 +0400 |
commit | 9b8dae71a5e0f5cccb4031dbe5f07aae01744c82 (patch) | |
tree | 8a575ab4a9e6835eef2175209ee323df883fd0ac /intern/cycles/render/svm.h | |
parent | 0f3e1821eae40c7cebfcf199b58370971b57fa35 (diff) |
Cycles: support for environment texture "Mirror Ball" projection mode, next to
existing "Equirectangular". This projection is useful to create light probes
from a chrome ball placed in a real scene. It expects as input a photograph of
the chrome ball, cropped so the ball just fits inside the image boundaries.
Example setup with panorama camera and mixing two (poor quality) photographs
from different viewpoints to avoid stretching and hide the photographer:
http://www.pasteall.org/pic/28036
Diffstat (limited to 'intern/cycles/render/svm.h')
-rw-r--r-- | intern/cycles/render/svm.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index d66d3816068..d8a1b14d637 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -59,7 +59,10 @@ public: void stack_assign(ShaderOutput *output); void stack_assign(ShaderInput *input); + int stack_find_offset(ShaderSocketType type); + void stack_clear_offset(ShaderSocketType type, int offset); void stack_link(ShaderInput *input, ShaderOutput *output); + void add_node(NodeType type, int a = 0, int b = 0, int c = 0); void add_node(int a = 0, int b = 0, int c = 0, int d = 0); void add_node(NodeType type, const float3& f); @@ -115,7 +118,6 @@ protected: void stack_clear_temporary(ShaderNode *node); int stack_size(ShaderSocketType type); - int stack_find_offset(ShaderSocketType type); void stack_clear_users(ShaderNode *node, set<ShaderNode*>& done); bool node_skip_input(ShaderNode *node, ShaderInput *input); |