[Bf-blender-cvs] [af128c4] master: Fix cycles volume emission not working with OSL.
Brecht Van Lommel
noreply at git.blender.org
Mon Dec 30 00:05:46 CET 2013
Commit: af128c4c9655c57b860010746dc7b5707c6520ba
Author: Brecht Van Lommel
Date: Sun Dec 29 16:30:55 2013 +0100
https://developer.blender.org/rBaf128c4c9655c57b860010746dc7b5707c6520ba
Fix cycles volume emission not working with OSL.
===================================================================
M intern/cycles/kernel/osl/osl_shader.cpp
===================================================================
diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp
index 6e1d8b2..6062996 100644
--- a/intern/cycles/kernel/osl/osl_shader.cpp
+++ b/intern/cycles/kernel/osl/osl_shader.cpp
@@ -415,11 +415,27 @@ static void flatten_volume_closure_tree(ShaderData *sd,
}
break;
}
+ case CClosurePrimitive::Emissive: {
+ /* sample weight */
+ float sample_weight = fabsf(average(weight));
+
+ sc.sample_weight = sample_weight;
+ sc.type = CLOSURE_EMISSION_ID;
+ sc.data0 = 0.0f;
+ sc.data1 = 0.0f;
+ sc.prim = NULL;
+
+ /* flag */
+ if(sd->num_closure < MAX_CLOSURE) {
+ sd->closure[sd->num_closure++] = sc;
+ sd->flag |= SD_EMISSION;
+ }
+ break;
+ }
case CClosurePrimitive::Holdout:
break; /* not implemented */
case CClosurePrimitive::Background:
case CClosurePrimitive::BSDF:
- case CClosurePrimitive::Emissive:
case CClosurePrimitive::BSSRDF:
case CClosurePrimitive::AmbientOcclusion:
break; /* not relevant */
More information about the Bf-blender-cvs
mailing list