Cycles volume: detect homogeneous volume automatically in common cases.

In practice this means that if you don't connect a texture to your volume nodes
it will figure that out and render the node faster, rather than you having to
specify it manually.

Main weakness is custom OSL nodes where we have to assume it is heterogeneous
because we don't know what kind of data the node accesses.
This commit is contained in:
Brecht Van Lommel
2014-04-03 22:04:39 +02:00
parent ab32a1807d
commit bd03e4cfe8
6 changed files with 44 additions and 10 deletions

View File

@@ -124,6 +124,7 @@ protected:
/* single closure */
void find_dependencies(set<ShaderNode*>& dependencies, const set<ShaderNode*>& done, ShaderInput *input);
void generate_node(ShaderNode *node, set<ShaderNode*>& done);
void generate_svm_nodes(const set<ShaderNode*>& nodes, set<ShaderNode*>& done);
void generate_closure(ShaderNode *node, set<ShaderNode*>& done);