#include <homogeneous.h>
Public Member Functions | |
| HomogeneousVolume (const RGBColor &sa, const RGBColor &ss, float gg, const RGBColor &emit, const BBox &e, const Transform &v2w) | |
| virtual | ~HomogeneousVolume () |
| virtual BBox | WorldBound () const |
| virtual bool | IntersectP (const Ray &r, float *t0, float *t1) const |
| virtual RGBColor | sigma_a (const Point &p, const Vector &) const |
| virtual RGBColor | sigma_s (const Point &p, const Vector &) const |
| virtual RGBColor | sigma_t (const Point &p, const Vector &) const |
| virtual RGBColor | Lve (const Point &p, const Vector &) const |
| virtual float | P (const Point &p, const Vector &wi, const Vector &wo) const |
| virtual RGBColor | Tau (const Ray &ray, float, float) const |
Static Public Member Functions | |
| static VolumeRegion * | CreateVolumeRegion (const Transform &volume2world, const ParamSet ¶ms) |
Private Attributes | |
| RGBColor | sig_a |
| RGBColor | sig_s |
| RGBColor | le |
| float | g |
| BBox | extent |
| Transform | WorldToVolume |
Definition at line 30 of file homogeneous.h.
| lux::HomogeneousVolume::HomogeneousVolume | ( | const RGBColor & | sa, | |
| const RGBColor & | ss, | |||
| float | gg, | |||
| const RGBColor & | emit, | |||
| const BBox & | e, | |||
| const Transform & | v2w | |||
| ) | [inline] |
Definition at line 33 of file homogeneous.h.
References extent, g, lux::Transform::GetInverse(), le, sig_a, sig_s, and WorldToVolume.
Referenced by CreateVolumeRegion().
| virtual lux::HomogeneousVolume::~HomogeneousVolume | ( | ) | [inline, virtual] |
Definition at line 43 of file homogeneous.h.
| VolumeRegion * HomogeneousVolume::CreateVolumeRegion | ( | const Transform & | volume2world, | |
| const ParamSet & | params | |||
| ) | [static] |
Definition at line 31 of file homogeneous.cpp.
References lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOnePoint(), lux::ParamSet::FindOneRGBColor(), g, HomogeneousVolume(), sigma_a(), and sigma_s().
| virtual bool lux::HomogeneousVolume::IntersectP | ( | const Ray & | r, | |
| float * | t0, | |||
| float * | t1 | |||
| ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 47 of file homogeneous.h.
References extent, lux::BBox::IntersectP(), and WorldToVolume.
Referenced by Tau().
| virtual RGBColor lux::HomogeneousVolume::Lve | ( | const Point & | p, | |
| const Vector & | ||||
| ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 60 of file homogeneous.h.
References extent, lux::BBox::Inside(), le, and WorldToVolume.
| virtual float lux::HomogeneousVolume::P | ( | const Point & | p, | |
| const Vector & | wi, | |||
| const Vector & | wo | |||
| ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 63 of file homogeneous.h.
References extent, g, lux::BBox::Inside(), lux::PhaseHG(), and WorldToVolume.
| virtual RGBColor lux::HomogeneousVolume::sigma_a | ( | const Point & | p, | |
| const Vector & | ||||
| ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 51 of file homogeneous.h.
References extent, lux::BBox::Inside(), sig_a, and WorldToVolume.
Referenced by CreateVolumeRegion().
| virtual RGBColor lux::HomogeneousVolume::sigma_s | ( | const Point & | p, | |
| const Vector & | ||||
| ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 54 of file homogeneous.h.
References extent, lux::BBox::Inside(), sig_s, and WorldToVolume.
Referenced by CreateVolumeRegion().
| virtual RGBColor lux::HomogeneousVolume::sigma_t | ( | const Point & | p, | |
| const Vector & | ||||
| ) | const [inline, virtual] |
Reimplemented from lux::VolumeRegion.
Definition at line 57 of file homogeneous.h.
References extent, lux::BBox::Inside(), sig_a, sig_s, and WorldToVolume.
| virtual RGBColor lux::HomogeneousVolume::Tau | ( | const Ray & | ray, | |
| float | , | |||
| float | ||||
| ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 67 of file homogeneous.h.
References lux::Distance(), IntersectP(), sig_a, and sig_s.
| virtual BBox lux::HomogeneousVolume::WorldBound | ( | ) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 44 of file homogeneous.h.
References extent, lux::Transform::GetInverse(), and WorldToVolume.
BBox lux::HomogeneousVolume::extent [private] |
Definition at line 79 of file homogeneous.h.
Referenced by HomogeneousVolume(), IntersectP(), Lve(), P(), sigma_a(), sigma_s(), sigma_t(), and WorldBound().
float lux::HomogeneousVolume::g [private] |
Definition at line 78 of file homogeneous.h.
Referenced by CreateVolumeRegion(), HomogeneousVolume(), and P().
RGBColor lux::HomogeneousVolume::le [private] |
Definition at line 77 of file homogeneous.h.
Referenced by HomogeneousVolume(), and Lve().
RGBColor lux::HomogeneousVolume::sig_a [private] |
Definition at line 77 of file homogeneous.h.
Referenced by HomogeneousVolume(), sigma_a(), sigma_t(), and Tau().
RGBColor lux::HomogeneousVolume::sig_s [private] |
Definition at line 77 of file homogeneous.h.
Referenced by HomogeneousVolume(), sigma_s(), sigma_t(), and Tau().
Definition at line 80 of file homogeneous.h.
Referenced by HomogeneousVolume(), IntersectP(), Lve(), P(), sigma_a(), sigma_s(), sigma_t(), and WorldBound().
1.6.2-20100208