[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59989] branches/soc-2013-dingto/intern/ cycles/kernel/osl/osl_shader.cpp: Fix for OSL volume closure flattening, this was not copying settings from the OSL closures.
Lukas Toenne
lukas.toenne at googlemail.com
Tue Sep 10 09:42:42 CEST 2013
Revision: 59989
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59989
Author: lukastoenne
Date: 2013-09-10 07:42:42 +0000 (Tue, 10 Sep 2013)
Log Message:
-----------
Fix for OSL volume closure flattening, this was not copying settings from the OSL closures.
Modified Paths:
--------------
branches/soc-2013-dingto/intern/cycles/kernel/osl/osl_shader.cpp
Modified: branches/soc-2013-dingto/intern/cycles/kernel/osl/osl_shader.cpp
===================================================================
--- branches/soc-2013-dingto/intern/cycles/kernel/osl/osl_shader.cpp 2013-09-10 07:42:41 UTC (rev 59988)
+++ branches/soc-2013-dingto/intern/cycles/kernel/osl/osl_shader.cpp 2013-09-10 07:42:42 UTC (rev 59989)
@@ -383,18 +383,23 @@
switch (prim->category()) {
case OSL::ClosurePrimitive::Volume: {
+ CVolumeClosure *volume = (CVolumeClosure *)prim;
/* sample weight */
float sample_weight = fabsf(average(weight));
sc.sample_weight = sample_weight;
- sc.type = CLOSURE_VOLUME_ID;
- sc.data0 = 0.0f;
- sc.data1 = 0.0f;
- sc.prim = NULL;
+ sc.type = volume->sc.type;
+ sc.N = volume->sc.N;
+ sc.T = volume->sc.T;
+ sc.data0 = volume->sc.data0;
+ sc.data1 = volume->sc.data1;
+ sc.prim = volume->sc.prim;
/* add */
- if(sc.sample_weight > 1e-5f && sd->num_closure < MAX_CLOSURE)
+ if(sc.sample_weight > 1e-5f && sd->num_closure < MAX_CLOSURE) {
sd->closure[sd->num_closure++] = sc;
+ sd->flag |= volume->shaderdata_flag();
+ }
break;
}
case OSL::ClosurePrimitive::Holdout:
More information about the Bf-blender-cvs
mailing list