#include <volume.h>
Public Member Functions | |
DensityRegion (const Spectrum &sig_a, const Spectrum &sig_s, float g, const Spectrum &Le, const Transform &VolumeToWorld) | |
virtual float | Density (const Point &Pobj) const =0 |
Spectrum | sigma_a (const Point &p, const Vector &) const |
Spectrum | sigma_s (const Point &p, const Vector &) const |
Spectrum | sigma_t (const Point &p, const Vector &) const |
Spectrum | Lve (const Point &p, const Vector &) const |
float | p (const Point &p, const Vector &w, const Vector &wp) const |
Spectrum | Tau (const Ray &r, float stepSize, float offset) const |
Protected Attributes | |
Transform | WorldToVolume |
Spectrum | sig_a |
Spectrum | sig_s |
Spectrum | le |
float | g |
Definition at line 63 of file volume.h.
lux::DensityRegion::DensityRegion | ( | const Spectrum & | sig_a, | |
const Spectrum & | sig_s, | |||
float | g, | |||
const Spectrum & | Le, | |||
const Transform & | VolumeToWorld | |||
) |
Definition at line 63 of file volume.cpp.
References lux::Transform::GetInverse(), and WorldToVolume.
virtual float lux::DensityRegion::Density | ( | const Point & | Pobj | ) | const [pure virtual] |
Implemented in lux::ExponentialDensity, and lux::VolumeGrid.
Implements lux::VolumeRegion.
Definition at line 78 of file volume.h.
References Density(), le, and WorldToVolume.
Implements lux::VolumeRegion.
Definition at line 69 of file volume.h.
References Density(), and WorldToVolume.
Referenced by lux::VolumeGrid::CreateVolumeRegion(), and lux::ExponentialDensity::CreateVolumeRegion().
Implements lux::VolumeRegion.
Definition at line 72 of file volume.h.
References Density(), and WorldToVolume.
Referenced by lux::VolumeGrid::CreateVolumeRegion(), and lux::ExponentialDensity::CreateVolumeRegion().
Reimplemented from lux::VolumeRegion.
Definition at line 75 of file volume.h.
References Density(), and WorldToVolume.
Referenced by Tau().
Implements lux::VolumeRegion.
Definition at line 139 of file volume.cpp.
References lux::Ray::d, lux::VolumeRegion::IntersectP(), lux::Vector::Length(), lux::Ray::maxt, lux::Ray::mint, lux::Ray::o, and sigma_t().
float lux::DensityRegion::g [protected] |
Definition at line 90 of file volume.h.
Referenced by lux::VolumeGrid::CreateVolumeRegion(), and lux::ExponentialDensity::CreateVolumeRegion().
Spectrum lux::DensityRegion::le [protected] |
Spectrum lux::DensityRegion::sig_a [protected] |
Spectrum lux::DensityRegion::sig_s [protected] |
Transform lux::DensityRegion::WorldToVolume [protected] |
Definition at line 88 of file volume.h.
Referenced by DensityRegion(), lux::VolumeGrid::IntersectP(), lux::ExponentialDensity::IntersectP(), Lve(), sigma_a(), sigma_s(), sigma_t(), lux::VolumeGrid::WorldBound(), and lux::ExponentialDensity::WorldBound().