@@ -84,7 +84,7 @@ scalar_type_t<T> lpNorm(NBL_CONST_REF_ARG(T) v)
84
84
template <typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
85
85
vector <T, 3 > reflect (vector <T, 3 > I, vector <T, 3 > N, T NdotI)
86
86
{
87
- return N * 2.0 * NdotI - I;
87
+ return N * 2.0f * NdotI - I;
88
88
}
89
89
90
90
template <typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
@@ -217,29 +217,28 @@ struct refract
217
217
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
218
218
vector <T,3 > refract (vector <T,3 > I, vector <T,3 > N, bool backside, T NdotI, T NdotI2, T rcpOrientedEta, T rcpOrientedEta2)
219
219
{
220
- impl::refract r = impl::refract::create (I, N, backside, NdotI, NdotI2, rcpOrientedEta, rcpOrientedEta2);
220
+ impl::refract<T> r = impl::refract<T> ::create (I, N, backside, NdotI, NdotI2, rcpOrientedEta, rcpOrientedEta2);
221
221
return r.doRefract ();
222
222
}
223
223
224
224
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
225
225
vector <T,3 > refract (vector <T,3 > I, vector <T,3 > N, T NdotI, T eta)
226
226
{
227
- impl::refract r = impl::refract::create (I, N, NdotI, eta);
227
+ impl::refract<T> r = impl::refract<T> ::create (I, N, NdotI, eta);
228
228
return r.doRefract ();
229
229
}
230
230
231
231
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
232
232
vector <T,3 > refract (vector <T,3 > I, vector <T,3 > N, T eta)
233
233
{
234
- impl::refract r = impl::refract::create (I, N, eta);
234
+ impl::refract<T> r = impl::refract<T> ::create (I, N, eta);
235
235
return r.doRefract ();
236
236
}
237
237
238
- // I don't like exposing these next two
239
238
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
240
- vector <T, 3 > reflectRefract_computeNdotT (bool backside, T NdotI2, T rcpOrientedEta2)
239
+ T reflectRefract_computeNdotT (bool backside, T NdotI2, T rcpOrientedEta2)
241
240
{
242
- impl::refract r;
241
+ impl::refract<T> r;
243
242
r.NdotI2 = NdotI2;
244
243
r.rcpOrientedEta2 = rcpOrientedEta2;
245
244
r.backside = backside;
@@ -249,20 +248,20 @@ vector<T,3> reflectRefract_computeNdotT(bool backside, T NdotI2, T rcpOrientedEt
249
248
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
250
249
vector <T,3 > reflectRefract_impl (bool _refract, vector <T,3 > _I, vector <T,3 > _N, T _NdotI, T _NdotTorR, T _rcpOrientedEta)
251
250
{
252
- return impl::refract::doReflectRefract (_refract, _I, _N, _NdotI, _NdotTorR, _rcpOrientedEta);
251
+ return impl::refract<T> ::doReflectRefract (_refract, _I, _N, _NdotI, _NdotTorR, _rcpOrientedEta);
253
252
}
254
253
255
254
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
256
255
vector <T,3 > reflectRefract (bool _refract, vector <T,3 > I, vector <T,3 > N, bool backside, T NdotI, T NdotI2, T rcpOrientedEta, T rcpOrientedEta2)
257
256
{
258
- impl::refract r = impl::refract::create (I, N, backside, NdotI, NdotI2, rcpOrientedEta, rcpOrientedEta2);
257
+ impl::refract<T> r = impl::refract<T> ::create (I, N, backside, NdotI, NdotI2, rcpOrientedEta, rcpOrientedEta2);
259
258
return r.doReflectRefract (_refract);
260
259
}
261
260
262
261
template<typename T NBL_FUNC_REQUIRES (is_scalar_v<T>)
263
262
vector <T,3 > reflectRefract (bool _refract, vector <T,3 > I, vector <T,3 > N, T NdotI, T eta)
264
263
{
265
- impl::refract r = impl::refract::create (I, N, NdotI, eta);
264
+ impl::refract<T> r = impl::refract<T> ::create (I, N, NdotI, eta);
266
265
return r.doReflectRefract (_refract);
267
266
}
268
267
0 commit comments