[Bf-blender-cvs] [cb0520f] master: Fix for auto detect homogeneous volume with OSL, forgot to include this file in last commit.

Brecht Van Lommel noreply at git.blender.org
Sat Apr 5 14:50:54 CEST 2014


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) {




More information about the Bf-blender-cvs mailing list