#include <ray.h>
Public Member Functions | |
Ray () | |
Ray (const Point &origin, const Vector &direction) | |
Ray (const Point &origin, const Vector &direction, float start, float end=INFINITY, float t=0.f) | |
Point | operator() (float t) const |
void | GetDirectionSigns (int signs[3]) const |
Public Attributes | |
Point | o |
Vector | d |
float | mint |
float | maxt |
float | time |
Definition at line 34 of file ray.h.
lux::Ray::Ray | ( | ) | [inline] |
Definition at line 37 of file ray.h.
References lux::MachineEpsilon::E(), and mint.
Definition at line 41 of file ray.h.
References lux::MachineEpsilon::E(), and mint.
void lux::Ray::GetDirectionSigns | ( | int | signs[3] | ) | const [inline] |
Definition at line 51 of file ray.h.
References d, lux::Vector::x, lux::Vector::y, and lux::Vector::z.
Point lux::Ray::operator() | ( | float | t | ) | const [inline] |
Definition at line 58 of file ray.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), lux::SunLight::checkPortals(), lux::PerspectiveCamera::ClampRay(), lux::DifferentialGeometry::ComputeDifferentials(), lux::Torus::FindIntersection(), generateEyePath(), generateLightPath(), lux::BidirIntegrator::generatePath(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), GetDirectionSigns(), lux::IrradianceCache::IndirectLo(), lux::UnsafeKdTreeAccel::Intersect(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Quadrilateral::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::MeshBaryTriangle::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::GridAccel::Intersect(), lux::Disk::Intersect(), lux::Cylinder::Intersect(), lux::Cone::Intersect(), lux::UnsafeKdTreeAccel::IntersectP(), lux::TaBRecKdTreeAccel::IntersectP(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::MeshBaryTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::GridAccel::IntersectP(), lux::Disk::IntersectP(), lux::Cylinder::IntersectP(), lux::Cone::IntersectP(), lux::BBox::IntersectP(), lux::AreaLight::L(), lux::SunLight::Le(), lux::SkyLight::Le(), lux::InfiniteAreaLightIS::Le(), lux::InfiniteAreaLight::Le(), lux::WhittedIntegrator::Li(), lux::SingleScattering::Li(), lux::PhotonIntegrator::Li(), lux::PathIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::EmissionIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), lux::ExPhotonIntegrator::LiPathMode(), lux::Transform::operator()(), operator()(), lux::operator<<(), lux::PhotonIntegrator::Preprocess(), lux::IGIIntegrator::Preprocess(), lux::ExPhotonIntegrator::Preprocess(), lux::SunLight::Sample_L(), lux::SpotLight::Sample_L(), lux::SkyLight::Sample_L(), lux::ProjectionLight::Sample_L(), lux::PointLight::Sample_L(), lux::InfiniteAreaLightIS::Sample_L(), lux::InfiniteAreaLight::Sample_L(), lux::DistantLight::Sample_L(), lux::AreaLight::Sample_L(), lux::DensityRegion::Tau(), and lux::VisibilityTester::TestOcclusion().
float lux::Ray::maxt [mutable] |
Definition at line 59 of file ray.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), lux::PerspectiveCamera::ClampRay(), lux::OrthoCamera::ClampRay(), lux::EnvironmentCamera::ClampRay(), lux::Torus::FindIntersection(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::IrradianceCache::IndirectLo(), lux::UnsafeKdTreeAccel::Intersect(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Shape::Intersect(), lux::Quadrilateral::Intersect(), lux::MotionPrimitive::Intersect(), lux::InstancePrimitive::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::MeshBaryTriangle::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::GridAccel::Intersect(), lux::Disk::Intersect(), lux::Cylinder::Intersect(), lux::Cone::Intersect(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::MeshBaryTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::GridAccel::IntersectP(), lux::Disk::IntersectP(), lux::Cylinder::IntersectP(), lux::Cone::IntersectP(), lux::BBox::IntersectP(), lux::PathIntegrator::Li(), lux::ExPhotonIntegrator::LiPathMode(), lux::Transform::operator()(), lux::operator<<(), lux::Primitive::Pdf(), lux::DensityRegion::Tau(), and lux::VisibilityTester::TestOcclusion().
float lux::Ray::mint [mutable] |
Definition at line 59 of file ray.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), lux::PerspectiveCamera::ClampRay(), lux::OrthoCamera::ClampRay(), lux::EnvironmentCamera::ClampRay(), lux::Torus::FindIntersection(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::GridAccel::Intersect(), lux::Cylinder::Intersect(), lux::Cone::Intersect(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::GridAccel::IntersectP(), lux::Cylinder::IntersectP(), lux::Cone::IntersectP(), lux::BBox::IntersectP(), lux::SunLight::Le(), lux::SkyLight::Le(), lux::InfiniteAreaLight::Le(), lux::Transform::operator()(), lux::operator<<(), lux::SkyLight::Pdf(), SkyPortalBxDF::Pdf(), lux::InfiniteAreaLight::Pdf(), InfinitePortalBxDF::Pdf(), Ray(), SkyPortalBxDF::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::SunLight::Sample_L(), lux::SkyLight::Sample_L(), lux::DensityRegion::Tau(), and lux::VisibilityTester::TestOcclusion().
Definition at line 57 of file ray.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), lux::DifferentialGeometry::ComputeDifferentials(), lux::Torus::FindIntersection(), lux::BidirIntegrator::generatePath(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::UnsafeKdTreeAccel::Intersect(), lux::TaBRecKdTreeAccel::Intersect(), lux::Sphere::Intersect(), lux::Quadrilateral::Intersect(), lux::Paraboloid::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::MeshBaryTriangle::Intersect(), lux::LensComponent::Intersect(), lux::Hyperboloid::Intersect(), lux::Disk::Intersect(), lux::Cylinder::Intersect(), lux::Cone::Intersect(), lux::UnsafeKdTreeAccel::IntersectP(), lux::TaBRecKdTreeAccel::IntersectP(), lux::Sphere::IntersectP(), lux::Paraboloid::IntersectP(), lux::MeshWaldTriangle::IntersectP(), lux::MeshBaryTriangle::IntersectP(), lux::LensComponent::IntersectP(), lux::Hyperboloid::IntersectP(), lux::Disk::IntersectP(), lux::Cylinder::IntersectP(), lux::Cone::IntersectP(), lux::BBox::IntersectP(), lux::AreaLight::L(), lux::SunLight::Le(), lux::SkyLight::Le(), lux::InfiniteAreaLight::Le(), lux::WhittedIntegrator::Li(), lux::PhotonIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), lux::Transform::operator()(), operator()(), lux::operator<<(), lux::SunLight::Sample_L(), lux::SpotLight::Sample_L(), lux::SkyLight::Sample_L(), lux::ProjectionLight::Sample_L(), lux::PointLight::Sample_L(), lux::InfiniteAreaLightIS::Sample_L(), lux::InfiniteAreaLight::Sample_L(), lux::DistantLight::Sample_L(), lux::AreaLight::Sample_L(), and lux::DensityRegion::Tau().
float lux::Ray::time |
Definition at line 60 of file ray.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), generateEyePath(), generateLightPath(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), getEnvironmentLight(), lux::MotionPrimitive::Intersect(), lux::MotionPrimitive::IntersectP(), lux::PathIntegrator::Li(), lux::IGIIntegrator::Li(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), lux::Transform::operator()(), lux::operator<<(), lux::VisibilityTester::SetRay(), lux::VisibilityTester::SetSegment(), and lux::VisibilityTester::TestOcclusion().