Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/testrender/shading.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,7 @@ process_medium_closure(const ShaderGlobalsType& sg, float path_roughness,
0.f, 1.f));
closure = params->top;
ptr_stack[stack_idx] = params->base;
weight_stack[stack_idx++] = weight * base_w;
weight_stack[stack_idx++] = base_w;
break;
}
case MX_ANISOTROPIC_VDF_ID: {
Expand Down
16 changes: 16 additions & 0 deletions testsuite/render-mx-medium-vdf/medium_layer_weight.osl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright Contributors to the Open Shading Language project.
// SPDX-License-Identifier: BSD-3-Clause
// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage

surface medium_layer_weight(int layered = 0)
{
closure color medium
= transparent() + anisotropic_vdf(color(0), color(2, 4, 8), 0);
// Keep the layer closure while making its top response negligible.
closure color negligible_top = 1.0e-6 * reflection(N, 1.5);

if (layered)
Ci = 0.5 * layer(negligible_top, medium);
else
Ci = 0.5 * medium;
}
Binary file not shown.
4 changes: 3 additions & 1 deletion testsuite/render-mx-medium-vdf/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
failthresh = 0.01
failpercent = 1

outputs = [ "out.exr" ]
outputs = [ "out.exr", "out_layer_weight.exr" ]
command = testrender("-v -r 98 98 -aa 32 scene.xml out.exr")
command += testrender(
"-r 160 80 -aa 32 scene_layer_weight.xml out_layer_weight.exr")
23 changes: 23 additions & 0 deletions testsuite/render-mx-medium-vdf/scene_layer_weight.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<World>
<Camera eye="0, 0, 10" look_at="0,0,0" fov="30" />

<ShaderGroup is_light="yes">
param color sky 1 1 1;
param color horizon 1 1 1;
param color sun 0 0 0;
shader envmap layer1;
</ShaderGroup>
<Background resolution="1024" />

<ShaderGroup>
param int layered 0;
shader medium_layer_weight layer1;
</ShaderGroup>
<Sphere center="-1.1,0,0" radius="1" />

<ShaderGroup>
param int layered 1;
shader medium_layer_weight layer1;
</ShaderGroup>
<Sphere center="1.1,0,0" radius="1" />
</World>
Loading