#include "pbrt.h"
Go to the source code of this file.
Classes | |
class | Vector |
class | Point |
class | Normal |
class | Ray |
class | RayDifferential |
class | BBox |
Functions | |
Vector | operator* (float f, const Vector &v) |
float | Dot (const Vector &v1, const Vector &v2) |
float | AbsDot (const Vector &v1, const Vector &v2) |
Vector | Cross (const Vector &v1, const Vector &v2) |
Vector | Cross (const Vector &v1, const Normal &v2) |
Vector | Cross (const Normal &v1, const Vector &v2) |
Vector | Normalize (const Vector &v) |
void | CoordinateSystem (const Vector &v1, Vector *v2, Vector *v3) |
float | Distance (const Point &p1, const Point &p2) |
float | DistanceSquared (const Point &p1, const Point &p2) |
Point | operator* (float f, const Point &p) |
Normal | operator* (float f, const Normal &n) |
Normal | Normalize (const Normal &n) |
float | Dot (const Normal &n1, const Vector &v2) |
float | Dot (const Vector &v1, const Normal &n2) |
float | Dot (const Normal &n1, const Normal &n2) |
float | AbsDot (const Normal &n1, const Vector &v2) |
float | AbsDot (const Vector &v1, const Normal &n2) |
float | AbsDot (const Normal &n1, const Normal &n2) |
Normal | Faceforward (const Normal &n, const Vector &v) |
Normal | Faceforward (const Normal &n, const Normal &n2) |
Vector | Faceforward (const Vector &v, const Vector &v2) |
Vector | Faceforward (const Vector &v, const Normal &n2) |
Vector | SphericalDirection (float sintheta, float costheta, float phi) |
Vector | SphericalDirection (float sintheta, float costheta, float phi, const Vector &x, const Vector &y, const Vector &z) |
float | SphericalTheta (const Vector &v) |
float | SphericalPhi (const Vector &v) |
Definition at line 550 of file geometry.h.
References Assert, Normal::HasNaNs(), Normal::x, Normal::y, and Normal::z.
Definition at line 544 of file geometry.h.
References Assert, Normal::HasNaNs(), Vector::HasNaNs(), Normal::x, Vector::x, Normal::y, Vector::y, Normal::z, and Vector::z.
Definition at line 538 of file geometry.h.
References Assert, Vector::HasNaNs(), Normal::HasNaNs(), Vector::x, Normal::x, Vector::y, Normal::y, Vector::z, and Normal::z.
Definition at line 438 of file geometry.h.
References Assert, Dot(), and Vector::HasNaNs().
Referenced by EstimateDirect(), FresnelBlend::f(), Microfacet::G(), GeneratePath(), MetropolisRenderer::Lbidir(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IGIIntegrator::Li(), DipoleSubsurfaceIntegrator::Li(), main(), MetropolisRenderer::PathL(), IrradianceCacheIntegrator::pathL(), Shape::Pdf(), IGIIntegrator::Preprocess(), DipoleSubsurfaceIntegrator::Preprocess(), PhotonShootingTask::Run(), SHComputeDiffuseTransfer(), SpecularReflect(), and SpecularTransmit().
Definition at line 475 of file geometry.h.
References Cross(), Vector::x, Vector::y, and Vector::z.
Referenced by CreateSpotLight(), Triangle::GetShadingGeometry(), Triangle::Intersect(), Triangle::IntersectP(), PhotonIntegrator::Li(), Sphere::Sample(), InfiniteAreaLight::Sample_L(), DistantLight::Sample_L(), and SampleHG().
Definition at line 464 of file geometry.h.
References Assert, Vector::HasNaNs(), Normal::HasNaNs(), Vector::x, Normal::x, Vector::y, Normal::y, Vector::z, and Normal::z.
Definition at line 454 of file geometry.h.
References Assert, Normal::HasNaNs(), Vector::HasNaNs(), Normal::x, Vector::x, Normal::y, Vector::y, Normal::z, and Vector::z.
Definition at line 444 of file geometry.h.
References Assert, Vector::HasNaNs(), Vector::x, Vector::y, and Vector::z.
Referenced by Triangle::Area(), BSDF::BSDF(), Material::Bump(), CoordinateSystem(), CreateTriangleMeshShape(), DifferentialGeometry::DifferentialGeometry(), Triangle::GetShadingGeometry(), Triangle::Intersect(), Sphere::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Triangle::IntersectP(), IrradianceCacheIntegrator::Li(), LookAt(), NURBS::Refine(), LoopSubdiv::Refine(), and Triangle::Sample().
Definition at line 488 of file geometry.h.
Referenced by BBox::BoundingSphere(), IrradProcess::operator()(), VisibilityTester::SetSegment(), PointLight::SHProject(), and HomogeneousVolumeDensity::tau().
Definition at line 493 of file geometry.h.
Referenced by Octree< SurfacePoint >::Add(), Octree< NodeData >::addPrivate(), kernel(), MetropolisRenderer::Lbidir(), IGIIntegrator::Li(), SubsurfaceOctreeNode::Mo(), PoissonCheck::operator()(), Sphere::Pdf(), Shape::Pdf(), KdTree< NodeData >::privateLookup(), Sphere::Sample(), SpotLight::Sample_L(), ProjectionLight::Sample_L(), PointLight::Sample_L(), GonioPhotometricLight::Sample_L(), and PointLight::SHProject().
Definition at line 532 of file geometry.h.
References Assert, Normal::HasNaNs(), Normal::x, Normal::y, and Normal::z.
Definition at line 526 of file geometry.h.
References Assert, Normal::HasNaNs(), Vector::HasNaNs(), Normal::x, Vector::x, Normal::y, Vector::y, Normal::z, and Vector::z.
Definition at line 520 of file geometry.h.
References Assert, Vector::HasNaNs(), Normal::HasNaNs(), Vector::x, Normal::x, Vector::y, Normal::y, Vector::z, and Normal::z.
Definition at line 432 of file geometry.h.
References Assert, Vector::HasNaNs(), Vector::x, Vector::y, and Vector::z.
Referenced by AbsDot(), DifferentialGeometry::ComputeDifferentials(), ExponentialDensity::Density(), Dot(), EPhoton(), BSDF::f(), RegularHalfangleBRDF::f(), FresnelBlend::f(), Microfacet::f(), Faceforward(), Triangle::Intersect(), Sphere::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Triangle::IntersectP(), DiffuseAreaLight::L(), PhotonIntegrator::Li(), GlossyPRTIntegrator::Li(), AmbientOcclusionIntegrator::Li(), LPhoton(), PlanarMapping2D::Map(), Normalize(), RadiancePhotonProcess::operator()(), IrradProcess::operator()(), Anisotropic::Pdf(), Blinn::Pdf(), PhaseHG(), PhaseMieHazy(), PhaseMieMurky(), PhaseRayleigh(), PhaseSchlick(), DipoleSubsurfaceIntegrator::Preprocess(), Sphere::Sample(), BSDF::Sample_f(), Anisotropic::Sample_f(), Blinn::Sample_f(), DiffuseAreaLight::Sample_L(), SHComputeDiffuseTransfer(), SHProjectCube(), Slerp(), SpecularReflect(), SpecularTransmit(), and BSDF::WorldToLocal().
Definition at line 573 of file geometry.h.
References Dot().
Definition at line 567 of file geometry.h.
References Dot().
Definition at line 561 of file geometry.h.
References Dot().
Definition at line 556 of file geometry.h.
References Dot().
Referenced by Material::Bump(), IrradianceCacheIntegrator::indirectLo(), UseRadianceProbes::Li(), PhotonIntegrator::Li(), IrradianceCacheIntegrator::Li(), DiffusePRTIntegrator::Li(), AmbientOcclusionIntegrator::Li(), LPhoton(), CreateRadianceProbes::Render(), SurfacePointTask::Run(), and PhotonShootingTask::Run().
Definition at line 509 of file geometry.h.
References Normal::Length().
Definition at line 474 of file geometry.h.
References Vector::Length().
Referenced by BSDF::BSDF(), Material::Bump(), CreateSpotLight(), CylindricalMapping2D::cylinder(), DifferentialGeometry::DifferentialGeometry(), DistantLight::DistantLight(), ExponentialDensity::ExponentialDensity(), RegularHalfangleBRDF::f(), FresnelBlend::f(), Microfacet::f(), SpotLight::Falloff(), PerspectiveCamera::GenerateRay(), OrthoCamera::GenerateRay(), PerspectiveCamera::GenerateRayDifferential(), OrthoCamera::GenerateRayDifferential(), Triangle::GetShadingGeometry(), IrradianceCacheIntegrator::indirectLo(), Triangle::Intersect(), Sphere::Intersect(), TransformedPrimitive::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Triangle::IntersectP(), MetropolisRenderer::Lbidir(), InfiniteAreaLight::Le(), IGIIntegrator::Li(), LookAt(), main(), MetropolisRenderer::PathL(), Anisotropic::Pdf(), Blinn::Pdf(), NURBS::Refine(), Rotate(), Triangle::Sample(), Sphere::Sample(), Disk::Sample(), Cylinder::Sample(), SpotLight::Sample_L(), ProjectionLight::Sample_L(), PointLight::Sample_L(), GonioPhotometricLight::Sample_L(), DiffuseAreaLight::Sample_L(), GonioPhotometricLight::Scale(), PointLight::SHProject(), InfiniteAreaLight::SHProject(), SHProjectCube(), Slerp(), and SphericalMapping2D::sphere().
Definition at line 504 of file geometry.h.
Definition at line 498 of file geometry.h.
References Assert, and Point::HasNaNs().
Definition at line 431 of file geometry.h.
Vector SphericalDirection | ( | float | sintheta, | |
float | costheta, | |||
float | phi, | |||
const Vector & | x, | |||
const Vector & | y, | |||
const Vector & | z | |||
) | [inline] |
Definition at line 599 of file geometry.h.
Vector SphericalDirection | ( | float | sintheta, | |
float | costheta, | |||
float | phi | |||
) | [inline] |
Definition at line 591 of file geometry.h.
Referenced by MeasuredMaterial::MeasuredMaterial(), Anisotropic::Sample_f(), Blinn::Sample_f(), SampleHG(), and SHWriteImage().
float SphericalPhi | ( | const Vector & | v | ) | [inline] |
Definition at line 612 of file geometry.h.
References M_PI, Vector::x, and Vector::y.
Referenced by BRDFRemap(), RegularHalfangleBRDF::f(), InfiniteAreaLight::Le(), InfiniteAreaLight::Pdf(), GonioPhotometricLight::Scale(), and SphericalMapping2D::sphere().
float SphericalTheta | ( | const Vector & | v | ) | [inline] |
Definition at line 607 of file geometry.h.
References Clamp(), and Vector::z.
Referenced by RegularHalfangleBRDF::f(), InfiniteAreaLight::Le(), InfiniteAreaLight::Pdf(), GonioPhotometricLight::Scale(), and SphericalMapping2D::sphere().