#include <volume.h>
Public Member Functions | |
DensityRegion (const RGBColor &sig_a, const RGBColor &sig_s, float g, const RGBColor &Le, const Transform &VolumeToWorld) | |
virtual | ~DensityRegion () |
virtual float | Density (const Point &Pobj) const =0 |
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 &w, const Vector &wp) const |
virtual RGBColor | Tau (const Ray &r, float stepSize, float offset) const |
Protected Attributes | |
Transform | WorldToVolume |
RGBColor | sig_a |
RGBColor | sig_s |
RGBColor | le |
float | g |
Definition at line 64 of file volume.h.
lux::DensityRegion::DensityRegion | ( | const RGBColor & | sig_a, | |
const RGBColor & | sig_s, | |||
float | g, | |||
const RGBColor & | Le, | |||
const Transform & | VolumeToWorld | |||
) |
Definition at line 63 of file volume.cpp.
References lux::Transform::GetInverse(), and WorldToVolume.
virtual lux::DensityRegion::~DensityRegion | ( | ) | [inline, virtual] |
virtual float lux::DensityRegion::Density | ( | const Point & | Pobj | ) | const [pure virtual] |
Implemented in lux::Cloud, lux::ExponentialDensity, and lux::VolumeGrid.
virtual RGBColor lux::DensityRegion::Lve | ( | const Point & | p, | |
const Vector & | ||||
) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 80 of file volume.h.
References Density(), le, and WorldToVolume.
virtual RGBColor lux::DensityRegion::sigma_a | ( | const Point & | p, | |
const Vector & | ||||
) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 71 of file volume.h.
References Density(), and WorldToVolume.
Referenced by lux::VolumeGrid::CreateVolumeRegion(), lux::ExponentialDensity::CreateVolumeRegion(), and lux::Cloud::CreateVolumeRegion().
virtual RGBColor lux::DensityRegion::sigma_s | ( | const Point & | p, | |
const Vector & | ||||
) | const [inline, virtual] |
Implements lux::VolumeRegion.
Definition at line 74 of file volume.h.
References Density(), and WorldToVolume.
Referenced by lux::VolumeGrid::CreateVolumeRegion(), lux::ExponentialDensity::CreateVolumeRegion(), and lux::Cloud::CreateVolumeRegion().
virtual RGBColor lux::DensityRegion::sigma_t | ( | const Point & | p, | |
const Vector & | ||||
) | const [inline, virtual] |
Reimplemented from lux::VolumeRegion.
Definition at line 77 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 92 of file volume.h.
Referenced by lux::VolumeGrid::CreateVolumeRegion(), lux::ExponentialDensity::CreateVolumeRegion(), and lux::Cloud::CreateVolumeRegion().
RGBColor lux::DensityRegion::le [protected] |
RGBColor lux::DensityRegion::sig_a [protected] |
RGBColor lux::DensityRegion::sig_s [protected] |
Transform lux::DensityRegion::WorldToVolume [protected] |
Definition at line 90 of file volume.h.
Referenced by DensityRegion(), lux::VolumeGrid::IntersectP(), lux::ExponentialDensity::IntersectP(), lux::Cloud::IntersectP(), Lve(), sigma_a(), sigma_s(), sigma_t(), lux::VolumeGrid::WorldBound(), lux::ExponentialDensity::WorldBound(), and lux::Cloud::WorldBound().