@@ -1553,22 +1553,21 @@ struct HenyeyGreenstein final : public BSDF {
15531553 Vec3 wi = frame.toworld (local_wi);
15541554 float pdf_val = PhaseHG (cos_theta, g);
15551555
1556- Color3 weight = Color3 (1 .0f );
1557- return { wi, weight, pdf_val, 0 .0f };
1556+ return { wi, Color3 (1 .0f ), pdf_val, 0 .0f };
15581557 }
15591558
15601559};
15611560
1562- struct HomogeneousVolume final : public Medium {
1561+ struct HomogeneousMedium final : public Medium {
15631562 MediumParams params;
15641563
1565- OSL_HOSTDEVICE HomogeneousVolume (const MediumParams& params)
1564+ OSL_HOSTDEVICE HomogeneousMedium (const MediumParams& params)
15661565 : Medium(this ), params(params)
15671566 {
15681567 }
15691568
1570- OSL_HOSTDEVICE static HomogeneousVolume * create (void * storage, const MediumParams& params) {
1571- HomogeneousVolume * volume = new (storage) HomogeneousVolume (params);
1569+ OSL_HOSTDEVICE static HomogeneousMedium * create (void * storage, const MediumParams& params) {
1570+ HomogeneousMedium * volume = new (storage) HomogeneousMedium (params);
15721571 volume->phase_func = new HenyeyGreenstein (params.medium_g );
15731572 return volume;
15741573 }
@@ -1578,12 +1577,11 @@ struct HomogeneousVolume final : public Medium {
15781577 Vec3 rand_vol = sampler.get ();
15791578
15801579 float t_volume = -logf (1 .0f - rand_vol.x ) / params.avg_sigma_t ();
1581- bool volume_scatter = (t_volume < hit.t );
15821580
15831581 Color3 weight;
15841582 Color3 tr;
15851583
1586- if (volume_scatter ) {
1584+ if (t_volume < hit. t ) {
15871585 r.origin = r.point (t_volume);
15881586 tr = transmittance (t_volume);
15891587
@@ -1599,7 +1597,7 @@ struct HomogeneousVolume final : public Medium {
15991597 );
16001598 }
16011599
1602- return Medium::Sample { volume_scatter, t_volume, tr, weight };
1600+ return Medium::Sample { t_volume, tr, weight };
16031601 }
16041602
16051603 OSL_HOSTDEVICE const MediumParams* get_params () const {
@@ -1614,22 +1612,22 @@ struct HomogeneousVolume final : public Medium {
16141612 }
16151613};
16161614
1617- struct EmptyVolume final : public Medium {
1615+ struct EmptyMedium final : public Medium {
16181616 MediumParams params;
16191617
1620- OSL_HOSTDEVICE EmptyVolume (const MediumParams& params)
1618+ OSL_HOSTDEVICE EmptyMedium (const MediumParams& params)
16211619 : Medium(this ), params(params)
16221620 {
16231621 }
16241622
1625- OSL_HOSTDEVICE static EmptyVolume * create (void * storage, const MediumParams& params) {
1626- EmptyVolume * volume = new (storage) EmptyVolume (params);
1623+ OSL_HOSTDEVICE static EmptyMedium * create (void * storage, const MediumParams& params) {
1624+ EmptyMedium * volume = new (storage) EmptyMedium (params);
16271625 return volume;
16281626 }
16291627
16301628 OSL_HOSTDEVICE Medium::Sample sample (Ray& ray, Sampler &sampler, Intersection& hit) const
16311629 {
1632- return { false , 0 .0f , Color3 (1 .0f ), Color3 (1 .0f ) };
1630+ return { 0 .0f , Color3 (1 .0f ), Color3 (1 .0f ) };
16331631 }
16341632
16351633 OSL_HOSTDEVICE const MediumParams* get_params () const {
@@ -1781,9 +1779,9 @@ process_medium_closure(const ShaderGlobalsType& sg, float path_roughness,
17811779
17821780 if (!sg.backfacing ) { // if entering
17831781 if (result.medium_data .is_vaccum ()) {
1784- medium_stack.add_medium <EmptyVolume >(result.medium_data );
1782+ medium_stack.add_medium <EmptyMedium >(result.medium_data );
17851783 } else {
1786- medium_stack.add_medium <HomogeneousVolume >(result.medium_data );
1784+ medium_stack.add_medium <HomogeneousMedium >(result.medium_data );
17871785 }
17881786 }
17891787
@@ -1810,9 +1808,9 @@ process_medium_closure(const ShaderGlobalsType& sg, float path_roughness,
18101808
18111809 if (!sg.backfacing ) { // if entering
18121810 if (result.medium_data .is_vaccum ()) {
1813- medium_stack.add_medium <EmptyVolume >(result.medium_data );
1811+ medium_stack.add_medium <EmptyMedium >(result.medium_data );
18141812 } else {
1815- medium_stack.add_medium <HomogeneousVolume >(result.medium_data );
1813+ medium_stack.add_medium <HomogeneousMedium >(result.medium_data );
18161814 }
18171815 }
18181816
0 commit comments