File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -57,6 +57,7 @@ class MegakernelPathTracingInstance final : public ProgressiveIntegrator::Instan
5757 auto swl = spectrum->sample (spectrum->node ()->is_fixed () ? 0 .f : sampler ()->generate_1d ());
5858 SampledSpectrum beta{swl.dimension (), camera_weight};
5959 SampledSpectrum Li{swl.dimension ()};
60+ Float eta_scale = def (1 .f );
6061
6162 auto ray = camera_ray;
6263 auto pdf_bsdf = def (1e16f);
@@ -109,7 +110,6 @@ class MegakernelPathTracingInstance final : public ProgressiveIntegrator::Instan
109110
110111 // evaluate material
111112 auto surface_tag = it->shape ().surface_tag ();
112- auto eta_scale = def (1 .f );
113113
114114 $outline {
115115 PolymorphicCall<Surface::Closure> call;
@@ -137,8 +137,8 @@ class MegakernelPathTracingInstance final : public ProgressiveIntegrator::Instan
137137 // apply eta scale
138138 auto eta = closure->eta ().value_or (1 .f );
139139 $switch (surface_sample.event ) {
140- $case (Surface::event_enter) { eta_scale = sqr (eta); };
141- $case (Surface::event_exit) { eta_scale = sqr (1 .f / eta); };
140+ $case (Surface::event_enter) { eta_scale * = sqr (eta); };
141+ $case (Surface::event_exit) { eta_scale * = sqr (1 .f / eta); };
142142 };
143143 });
144144 };
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ Frame::Frame() noexcept
1919 _n{make_float3 (0 .f , 0 .f , 1 .f )} {}
2020
2121Frame Frame::make (Expr<float3> n) noexcept {
22- auto sgn = sign ( n.z );
22+ auto sgn = copysign ( 1 . f , n.z );
2323 auto a = -1 .f / (sgn + n.z );
2424 auto b = n.x * n.y * a;
2525 auto s = make_float3 (1 .f + sgn * sqr (n.x ) * a, sgn * b, -sgn * n.x );
You can’t perform that action at this time.
0 commit comments