#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] |
BSDF* lux::InstancePrimitive::GetBSDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | WorldToObject, | |||
float | u | |||
) | const [inline, virtual] |
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().