#include <homogeneous.h>
Public Member Functions | |
HomogeneousVolumeDensity (const Spectrum &sa, const Spectrum &ss, float gg, const Spectrum &emit, const BBox &e, const Transform &v2w) | |
BBox | WorldBound () const |
bool | IntersectP (const Ray &r, float *t0, float *t1) const |
Spectrum | sigma_a (const Point &p, const Vector &, float) const |
Spectrum | sigma_s (const Point &p, const Vector &, float) const |
Spectrum | sigma_t (const Point &p, const Vector &, float) const |
Spectrum | Lve (const Point &p, const Vector &, float) const |
float | p (const Point &p, const Vector &wi, const Vector &wo, float) const |
Spectrum | tau (const Ray &ray, float, float) const |
Private Attributes | |
Spectrum | sig_a |
Spectrum | sig_s |
Spectrum | le |
float | g |
BBox | extent |
Transform | WorldToVolume |
Definition at line 35 of file homogeneous.h.
HomogeneousVolumeDensity::HomogeneousVolumeDensity | ( | const Spectrum & | sa, | |
const Spectrum & | ss, | |||
float | gg, | |||
const Spectrum & | emit, | |||
const BBox & | e, | |||
const Transform & | v2w | |||
) | [inline] |
Definition at line 38 of file homogeneous.h.
References extent, g, Inverse(), le, sig_a, sig_s, and WorldToVolume.
bool HomogeneousVolumeDensity::IntersectP | ( | const Ray & | r, | |
float * | t0, | |||
float * | t1 | |||
) | const [inline, virtual] |
Implements VolumeRegion.
Definition at line 50 of file homogeneous.h.
References extent, BBox::IntersectP(), and WorldToVolume.
Referenced by tau().
Spectrum HomogeneousVolumeDensity::Lve | ( | const Point & | p, | |
const Vector & | , | |||
float | ||||
) | const [inline, virtual] |
Implements VolumeRegion.
Definition at line 63 of file homogeneous.h.
References extent, BBox::Inside(), le, and WorldToVolume.
float HomogeneousVolumeDensity::p | ( | const Point & | p, | |
const Vector & | wi, | |||
const Vector & | wo, | |||
float | ||||
) | const [inline, virtual] |
Implements VolumeRegion.
Definition at line 66 of file homogeneous.h.
References extent, g, BBox::Inside(), PhaseHG(), and WorldToVolume.
Spectrum HomogeneousVolumeDensity::sigma_a | ( | const Point & | p, | |
const Vector & | , | |||
float | ||||
) | const [inline, virtual] |
Implements VolumeRegion.
Definition at line 54 of file homogeneous.h.
References extent, BBox::Inside(), sig_a, and WorldToVolume.
Spectrum HomogeneousVolumeDensity::sigma_s | ( | const Point & | p, | |
const Vector & | , | |||
float | ||||
) | const [inline, virtual] |
Implements VolumeRegion.
Definition at line 57 of file homogeneous.h.
References extent, BBox::Inside(), sig_s, and WorldToVolume.
Spectrum HomogeneousVolumeDensity::sigma_t | ( | const Point & | p, | |
const Vector & | , | |||
float | ||||
) | const [inline, virtual] |
Reimplemented from VolumeRegion.
Definition at line 60 of file homogeneous.h.
References extent, BBox::Inside(), sig_a, sig_s, and WorldToVolume.
Implements VolumeRegion.
Definition at line 70 of file homogeneous.h.
References Distance(), IntersectP(), sig_a, and sig_s.
BBox HomogeneousVolumeDensity::WorldBound | ( | ) | const [inline, virtual] |
Implements VolumeRegion.
Definition at line 47 of file homogeneous.h.
References extent, Inverse(), and WorldToVolume.
BBox HomogeneousVolumeDensity::extent [private] |
Definition at line 79 of file homogeneous.h.
Referenced by HomogeneousVolumeDensity(), IntersectP(), Lve(), p(), sigma_a(), sigma_s(), sigma_t(), and WorldBound().
float HomogeneousVolumeDensity::g [private] |
Definition at line 78 of file homogeneous.h.
Referenced by HomogeneousVolumeDensity(), and p().
Spectrum HomogeneousVolumeDensity::le [private] |
Definition at line 77 of file homogeneous.h.
Referenced by HomogeneousVolumeDensity(), and Lve().
Spectrum HomogeneousVolumeDensity::sig_a [private] |
Definition at line 77 of file homogeneous.h.
Referenced by HomogeneousVolumeDensity(), sigma_a(), sigma_t(), and tau().
Spectrum HomogeneousVolumeDensity::sig_s [private] |
Definition at line 77 of file homogeneous.h.
Referenced by HomogeneousVolumeDensity(), sigma_s(), sigma_t(), and tau().
Definition at line 80 of file homogeneous.h.
Referenced by HomogeneousVolumeDensity(), IntersectP(), Lve(), p(), sigma_a(), sigma_s(), sigma_t(), and WorldBound().