17 "RayleighVolume is too large!");
ccl_device_inline float cos_theta(const float3 w)
additional_info("compositor_sum_squared_difference_float_shared") .push_constant(Type output_img float dot(value.rgb, luminance_coefficients)") .define("LOAD(value)"
#define CCL_NAMESPACE_END
@ CLOSURE_VOLUME_RAYLEIGH_ID
struct ShaderVolumeClosure ShaderVolumeClosure
SHADER_CLOSURE_VOLUME_BASE
SPECTRUM_DATA_TYPE Spectrum
ccl_device int volume_rayleigh_sample(ccl_private const ShaderData *sd, float2 rand, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf)
ccl_device int volume_rayleigh_setup(ccl_private RayleighVolume *volume)
ccl_device Spectrum volume_rayleigh_eval(ccl_private const ShaderData *sd, float3 wo, ccl_private float *pdf)
CCL_NAMESPACE_BEGIN struct RayleighVolume RayleighVolume
ccl_device float phase_rayleigh(float cos_theta)
ccl_device float3 phase_rayleigh_sample(float3 D, float2 rand, ccl_private float *pdf)