Fix #137514: EEVEE: Holdout objects still emit radiance
Disable radiance for holdout objects. Pull Request: https://projects.blender.org/blender/blender/pulls/137824
This commit is contained in:
@@ -54,13 +54,6 @@ void main()
|
||||
|
||||
nodetree_surface(closure_rand);
|
||||
|
||||
eObjectInfoFlag ob_flag = drw_object_infos().flag;
|
||||
if (flag_test(ob_flag, OBJECT_HOLDOUT)) {
|
||||
g_holdout = 1.0f - average(g_transmittance);
|
||||
}
|
||||
|
||||
g_holdout = saturate(g_holdout);
|
||||
|
||||
float3 radiance, transmittance;
|
||||
forward_lighting_eval(g_thickness, radiance, transmittance);
|
||||
|
||||
@@ -74,6 +67,14 @@ void main()
|
||||
vol.scattering -= vol.scattering * g_transmittance;
|
||||
radiance = radiance * vol.transmittance + vol.scattering;
|
||||
|
||||
eObjectInfoFlag ob_flag = drw_object_infos().flag;
|
||||
if (flag_test(ob_flag, OBJECT_HOLDOUT)) {
|
||||
g_holdout = 1.0f - average(g_transmittance);
|
||||
radiance *= 0.0f;
|
||||
}
|
||||
|
||||
g_holdout = saturate(g_holdout);
|
||||
|
||||
radiance *= 1.0f - saturate(g_holdout);
|
||||
|
||||
out_radiance = float4(radiance, g_holdout);
|
||||
|
||||
Reference in New Issue
Block a user