forked from bartvdbraak/blender
Fix cycles volume emission not working with OSL.
This commit is contained in:
parent
30aa0c2482
commit
af128c4c96
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user