Commit: cb0520f79a7a2babd4c4a4f0d075c0d289b2a2f0
Author: Brecht Van Lommel
Date:   Fri Apr 4 13:20:46 2014 +0200
https://developer.blender.org/rBcb0520f79a7a2babd4c4a4f0d075c0d289b2a2f0

Fix for auto detect homogeneous volume with OSL, forgot to include this file in 
last commit.

===================================================================

M       intern/cycles/render/osl.cpp

===================================================================

diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index b64a9e7..9486610 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -553,6 +553,10 @@ void OSLCompiler::add(ShaderNode *node, const char *name, 
bool isfilepath)
                        current_shader->has_bssrdf_bump = true; /* can't detect 
yet */
                }
        }
+       else if(current_type == SHADER_TYPE_VOLUME) {
+               if(node->has_spatial_varying())
+                       current_shader->has_heterogeneous_volume = true;
+       }
 }
 
 void OSLCompiler::parameter(const char *name, float f)
@@ -719,6 +723,10 @@ void OSLCompiler::generate_nodes(const set<ShaderNode*>& 
nodes)
                                                                
current_shader->has_bssrdf_bump = true;
                                                }
                                        }
+                                       else if(current_type == 
SHADER_TYPE_VOLUME) {
+                                               if(node->has_spatial_varying())
+                                                       
current_shader->has_heterogeneous_volume = true;
+                                       }
                                }
                                else
                                        nodes_done = false;
@@ -799,6 +807,7 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader)
                shader->has_bssrdf_bump = false;
                shader->has_volume = false;
                shader->has_displacement = false;
+               shader->has_heterogeneous_volume = false;
 
                /* generate surface shader */
                if(shader->used && graph && output->input("Surface")->link) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to