expre-gen/blender/3.4/scripts/addons/cycles/shader/node_refraction_bsdf.oso
2025-10-17 09:47:23 +08:00

72 lines
4.4 KiB
Plaintext

OpenShadingLanguage 1.00
# Compiled by oslc 1.12.6.2
# options: -q -O2 -I/home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders -I/home/blender/git/blender-v340/lib/linux_centos7_x86_64/osl/share/OSL/shaders -o /home/blender/git/blender-v340/build_release/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.oso
shader node_refraction_bsdf
param color Color 0.800000012 0.800000012 0.800000012 %read{10,18} %write{2147483647,-1}
param string distribution "sharp" %read{7,15} %write{2147483647,-1}
param float Roughness 0.200000003 %read{6,6} %write{2147483647,-1}
param float IOR 1.45000005 %read{1,1} %write{2147483647,-1}
param normal Normal 0 0 0 %read{9,17} %write{0,0} %initexpr
oparam closure color BSDF %read{2147483647,-1} %write{10,18}
global normal N %read{0,0} %write{2147483647,-1}
local float f %read{4,5} %write{1,1}
local float eta %read{9,17} %write{4,5}
local float roughness %read{13,17} %write{6,6}
const float $const1 1e-05 %read{1,1} %write{2147483647,-1}
temp int $tmp1 %read{3,3} %write{2,2}
const float $const2 1 %read{4,4} %write{2147483647,-1}
const string $const3 "sharp" %read{7,7} %write{2147483647,-1}
temp int $tmp2 %read{8,8} %write{7,7}
temp closure color $tmp3 %read{10,10} %write{9,9}
const string $const4 "refraction" %read{9,9} %write{2147483647,-1}
const string $const5 "beckmann" %read{11,11} %write{2147483647,-1}
temp int $tmp4 %read{12,12} %write{11,11}
temp closure color $tmp5 %read{14,14} %write{13,13}
const string $const6 "microfacet_beckmann_refraction" %read{13,13} %write{2147483647,-1}
const string $const7 "GGX" %read{15,15} %write{2147483647,-1}
temp int $tmp6 %read{16,16} %write{15,15}
temp closure color $tmp7 %read{18,18} %write{17,17}
const string $const8 "microfacet_ggx_refraction" %read{17,17} %write{2147483647,-1}
code Normal
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:10
# normal Normal = N,
assign Normal N %filename{"/home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl"} %line{10} %argrw{"wr"}
code ___main___
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:13
# float f = max(IOR, 1e-5);
max f IOR $const1 %filename{"/home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl"} %line{13} %argrw{"wrr"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:14
# float eta = backfacing() ? 1.0 / f : f;
backfacing $tmp1 %line{14} %argrw{"w"}
if $tmp1 5 6 %argrw{"r"}
div eta $const2 f %argrw{"wrr"}
assign eta f %argrw{"wr"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:15
# float roughness = Roughness * Roughness;
mul roughness Roughness Roughness %line{15} %argrw{"wrr"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:17
# if (distribution == "sharp")
eq $tmp2 distribution $const3 %line{17} %argrw{"wrr"}
if $tmp2 11 19 %argrw{"r"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:18
# BSDF = Color * refraction(Normal, eta);
closure $tmp3 $const4 Normal eta %line{18} %argrw{"wrrr"}
mul BSDF $tmp3 Color %argrw{"wrr"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:19
# else if (distribution == "beckmann")
eq $tmp4 distribution $const5 %line{19} %argrw{"wrr"}
if $tmp4 15 19 %argrw{"r"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:20
# BSDF = Color * microfacet_beckmann_refraction(Normal, roughness, eta);
closure $tmp5 $const6 Normal roughness eta %line{20} %argrw{"wrrrr"}
mul BSDF $tmp5 Color %argrw{"wrr"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:21
# else if (distribution == "GGX")
eq $tmp6 distribution $const7 %line{21} %argrw{"wrr"}
if $tmp6 19 19 %argrw{"r"}
# /home/blender/git/blender-v340/blender.git/intern/cycles/kernel/osl/shaders/node_refraction_bsdf.osl:22
# BSDF = Color * microfacet_ggx_refraction(Normal, roughness, eta);
closure $tmp7 $const8 Normal roughness eta %line{22} %argrw{"wrrrr"}
mul BSDF $tmp7 Color %argrw{"wrr"}
end