@@ -88,13 +88,7 @@ struct SSmoothDielectric
88
88
89
89
quotient_pdf_type quotient_and_pdf (NBL_CONST_REF_ARG (sample_type) _sample, NBL_CONST_REF_ARG (isotropic_interaction_type) interaction)
90
90
{
91
- const bool transmitted = ComputeMicrofacetNormal<scalar_type>::isTransmissionPath (interaction.getNdotV (), _sample.getNdotL ());
92
-
93
- fresnel::OrientedEtaRcps<monochrome_type> rcpOrientedEtas = fresnel::OrientedEtaRcps<monochrome_type>::create (interaction.getNdotV (_clamp), hlsl::promote<monochrome_type>(eta));
94
-
95
- const scalar_type _pdf = bit_cast<scalar_type, uint32_t>(numeric_limits<scalar_type>::infinity);
96
- scalar_type quo = hlsl::mix<scalar_type, bool >(1.0 , rcpOrientedEtas.value[0 ], transmitted);
97
- return quotient_pdf_type::create (quo, _pdf);
91
+ return quotient_pdf_type::create (1.0 , bit_cast<scalar_type, uint32_t>(numeric_limits<scalar_type>::infinity));
98
92
}
99
93
quotient_pdf_type quotient_and_pdf (NBL_CONST_REF_ARG (sample_type) _sample, NBL_CONST_REF_ARG (anisotropic_interaction_type) interaction)
100
94
{
@@ -135,6 +129,12 @@ struct SSmoothThinDielectric
135
129
retval.luminosityContributionHint = luminosityContributionHint;
136
130
return retval;
137
131
}
132
+ static this_t create (NBL_CONST_REF_ARG (spectral_type) eta2)
133
+ {
134
+ static_assert (vector_traits<spectral_type>::Dimension == 3 );
135
+ const spectral_type rec709 = spectral_type (0.2126 , 0.7152 , 0.0722 );
136
+ return create (eta2, rec709);
137
+ }
138
138
static this_t create (NBL_CONST_REF_ARG (creation_type) params)
139
139
{
140
140
return create (params.eta2, params.luminosityContributionHint);
0 commit comments