Public Member Functions | |
SubsurfaceOctreeNode () | |
void | Insert (const BBox &nodeBound, IrradiancePoint *ip, MemoryArena &arena) |
void | InitHierarchy () |
Spectrum | Mo (const BBox &nodeBound, const Point &p, const DiffusionReflectance &Rd, float maxError) |
Public Attributes | |
Point | p |
bool | isLeaf |
Spectrum | E |
float | sumArea |
union { | |
SubsurfaceOctreeNode * children [8] | |
IrradiancePoint * ips [8] | |
}; |
Definition at line 41 of file dipolesubsurface.cpp.
SubsurfaceOctreeNode::SubsurfaceOctreeNode | ( | ) | [inline] |
Definition at line 43 of file dipolesubsurface.cpp.
void SubsurfaceOctreeNode::InitHierarchy | ( | ) | [inline] |
Definition at line 88 of file dipolesubsurface.cpp.
References IrradiancePoint::area, children, E, IrradiancePoint::E, InitHierarchy(), ips, isLeaf, IrradiancePoint::p, p, sumArea, and RGBSpectrum::y().
Referenced by InitHierarchy(), and DipoleSubsurfaceIntegrator::Preprocess().
void SubsurfaceOctreeNode::Insert | ( | const BBox & | nodeBound, | |
IrradiancePoint * | ip, | |||
MemoryArena & | arena | |||
) | [inline] |
Definition at line 49 of file dipolesubsurface.cpp.
References MemoryArena::Alloc(), children, Insert(), ips, isLeaf, octreeChildBound(), IrradiancePoint::p, BBox::pMax, BBox::pMin, Point::x, Point::y, and Point::z.
Referenced by Insert(), and DipoleSubsurfaceIntegrator::Preprocess().
Spectrum SubsurfaceOctreeNode::Mo | ( | const BBox & | nodeBound, | |
const Point & | p, | |||
const DiffusionReflectance & | Rd, | |||
float | maxError | |||
) |
Definition at line 309 of file dipolesubsurface.cpp.
References IrradiancePoint::area, children, DistanceSquared(), IrradiancePoint::E, E, BBox::Inside(), ips, isLeaf, Mo(), octreeChildBound(), p, BBox::pMax, BBox::pMin, and sumArea.
Referenced by DipoleSubsurfaceIntegrator::Li(), and Mo().
union { ... } |
Definition at line 131 of file dipolesubsurface.cpp.
Referenced by InitHierarchy(), Insert(), and Mo().
Definition at line 128 of file dipolesubsurface.cpp.
Referenced by InitHierarchy(), and Mo().
Definition at line 132 of file dipolesubsurface.cpp.
Referenced by InitHierarchy(), Insert(), Mo(), and SubsurfaceOctreeNode().
Definition at line 127 of file dipolesubsurface.cpp.
Referenced by InitHierarchy(), Insert(), Mo(), and SubsurfaceOctreeNode().
Definition at line 126 of file dipolesubsurface.cpp.
Referenced by InitHierarchy(), and Mo().
Definition at line 129 of file dipolesubsurface.cpp.
Referenced by InitHierarchy(), Mo(), and SubsurfaceOctreeNode().