#include <primitive.h>
Public Member Functions | |
InstancePrimitive (Primitive *&i, const Transform &i2w) | |
bool | Intersect (const Ray &r, Intersection *in) const |
bool | IntersectP (const Ray &r) const |
const AreaLight * | GetAreaLight () const |
BSDF * | GetBSDF (const DifferentialGeometry &dg, const Transform &WorldToObject, float u) const |
BBox | WorldBound () const |
Private Attributes | |
Primitive * | instance |
Transform | InstanceToWorld |
Transform | WorldToInstance |
Definition at line 86 of file primitive.h.
Definition at line 89 of file primitive.h.
References lux::Transform::GetInverse(), instance, InstanceToWorld, and WorldToInstance.
const AreaLight* lux::InstancePrimitive::GetAreaLight | ( | ) | const [inline, virtual] |
Implements lux::Primitive.
Definition at line 97 of file primitive.h.
BSDF* lux::InstancePrimitive::GetBSDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | WorldToObject, | |||
float | u | |||
) | const [inline, virtual] |
Implements lux::Primitive.
Definition at line 98 of file primitive.h.
bool InstancePrimitive::Intersect | ( | const Ray & | r, | |
Intersection * | in | |||
) | const [virtual] |
Implements lux::Primitive.
Definition at line 94 of file primitive.cpp.
References lux::Intersection::dg, lux::DifferentialGeometry::dndu, lux::DifferentialGeometry::dndv, lux::DifferentialGeometry::dpdu, lux::DifferentialGeometry::dpdv, instance, InstanceToWorld, lux::Primitive::Intersect(), lux::Ray::maxt, lux::DifferentialGeometry::nn, lux::Normalize(), lux::DifferentialGeometry::p, WorldToInstance, and lux::Intersection::WorldToObject.
bool InstancePrimitive::IntersectP | ( | const Ray & | r | ) | const [virtual] |
Implements lux::Primitive.
Definition at line 111 of file primitive.cpp.
References instance, lux::Primitive::IntersectP(), and WorldToInstance.
BBox lux::InstancePrimitive::WorldBound | ( | ) | const [inline, virtual] |
Implements lux::Primitive.
Definition at line 102 of file primitive.h.
References instance, InstanceToWorld, and lux::Primitive::WorldBound().
Primitive* lux::InstancePrimitive::instance [private] |
Definition at line 107 of file primitive.h.
Referenced by InstancePrimitive(), Intersect(), IntersectP(), and WorldBound().
Definition at line 108 of file primitive.h.
Referenced by InstancePrimitive(), Intersect(), and WorldBound().
Definition at line 108 of file primitive.h.
Referenced by InstancePrimitive(), Intersect(), and IntersectP().