#include "pbrt.h"
#include <float.h>
Go to the source code of this file.
Classes | |
class | Vector |
class | Point |
class | Normal |
class | Ray |
class | RayDifferential |
class | BBox |
Functions | |
ostream & | operator<< (ostream &os, const Vector &v) |
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) |
ostream & | operator<< (ostream &os, const Point &v) |
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) |
ostream & | operator<< (ostream &os, const Normal &v) |
ostream & | operator<< (ostream &os, Ray &r) |
ostream & | operator<< (ostream &os, const BBox &b) |
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 298 of file geometry.h.
References Dot().
Referenced by EstimateDirect(), BidirIntegrator::evalPath(), FresnelBlend::f(), Microfacet::G(), BidirIntegrator::G(), BidirIntegrator::generatePath(), IrradianceCache::IndirectLo(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), BidirIntegrator::Li(), Shape::Pdf(), InfiniteAreaLight::Pdf(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), InfiniteAreaLightIS::Sample_L(), and InfiniteAreaLight::Sample_L().
Definition at line 319 of file geometry.h.
References Cross(), Vector::Vector(), Vector::x, Vector::y, and Vector::z.
Referenced by CreateLight(), Triangle::Intersect(), ExPhotonIntegrator::Li(), Sphere::Sample(), InfiniteAreaLight::Sample_L(), DistantLight::Sample_L(), and SampleHG().
Definition at line 311 of file geometry.h.
References Vector::Vector(), Normal::x, Vector::x, Vector::y, Normal::y, Normal::z, and Vector::z.
Definition at line 306 of file geometry.h.
References Vector::Vector(), Vector::x, Normal::x, Normal::y, Vector::y, Vector::z, and Normal::z.
Definition at line 301 of file geometry.h.
References Vector::Vector(), Vector::x, Vector::y, and Vector::z.
Referenced by Triangle::Area(), BSDF::BSDF(), Material::Bump(), CoordinateSystem(), CreateShape(), DifferentialGeometry::DifferentialGeometry(), Triangle::GetShadingGeometry(), Triangle::Intersect(), Sphere::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Triangle::IntersectP(), LookAt(), NURBS::Refine(), LoopSubdiv::Refine(), and Triangle::Sample().
Definition at line 330 of file geometry.h.
Referenced by BBox::BoundingSphere(), and HomogeneousVolume::Tau().
Definition at line 333 of file geometry.h.
Referenced by Octree< IrradianceSample, IrradProcess >::Add(), Octree< NodeData, LookupProc >::addPrivate(), BidirIntegrator::G(), BidirIntegrator::generatePath(), kernel(), IGIIntegrator::Li(), IrradProcess::operator()(), Sphere::Pdf(), Shape::Pdf(), KdTree< NodeData, LookupProc >::privateLookup(), Sphere::Sample(), SpotLight::Sample_L(), ProjectionLight::Sample_L(), PointLight::Sample_L(), and GonioPhotometricLight::Sample_L().
Definition at line 295 of file geometry.h.
References Vector::x, Vector::y, and Vector::z.
Referenced by AbsDot(), Material::Bump(), DifferentialGeometry::ComputeDifferentials(), ExponentialDensity::Density(), ExPhotonIntegrator::estimateE(), BSDF::f(), FresnelBlend::f(), Microfacet::f(), IrradianceCache::IndirectLo(), Triangle::Intersect(), Sphere::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Triangle::IntersectP(), AreaLight::L(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), PhotonIntegrator::LPhoton(), ExPhotonIntegrator::LPhoton(), PlanarMapping2D::Map(), IrradProcess::operator()(), RadiancePhotonProcess::operator()(), Anisotropic::Pdf(), Blinn::Pdf(), PhaseHG(), PhaseMieHazy(), PhaseMieMurky(), PhaseRayleigh(), PhaseSchlick(), ExPhotonIntegrator::Preprocess(), BSDF::Sample_f(), Anisotropic::Sample_f(), Blinn::Sample_f(), AreaLight::Sample_L(), and BSDF::WorldToLocal().
Definition at line 316 of file geometry.h.
References Vector::Length().
Referenced by BSDF::BSDF(), Material::Bump(), CreateLight(), CylindricalMapping2D::cylinder(), DifferentialGeometry::DifferentialGeometry(), DistantLight::DistantLight(), ExponentialDensity::ExponentialDensity(), FresnelBlend::f(), Microfacet::f(), SpotLight::Falloff(), BidirIntegrator::G(), PerspectiveCamera::GenerateRay(), OrthoCamera::GenerateRay(), Triangle::GetShadingGeometry(), Triangle::Intersect(), Sphere::Intersect(), InstancePrimitive::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), InfiniteAreaLightIS::Le(), InfiniteAreaLight::Le(), IGIIntegrator::Li(), LookAt(), Anisotropic::Pdf(), Blinn::Pdf(), NURBS::Refine(), Rotate(), Triangle::Sample(), Sphere::Sample(), Disk::Sample(), Cylinder::Sample(), SpotLight::Sample_L(), ProjectionLight::Sample_L(), PointLight::Sample_L(), InfiniteAreaLightIS::Sample_L(), InfiniteAreaLight::Sample_L(), GonioPhotometricLight::Sample_L(), AreaLight::Sample_L(), GonioPhotometricLight::Scale(), and SphericalMapping2D::sphere().
Definition at line 340 of file geometry.h.
Definition at line 292 of file geometry.h.
ostream& operator<< | ( | ostream & | os, | |
const BBox & | b | |||
) | [inline] |
ostream& operator<< | ( | ostream & | os, | |
Ray & | r | |||
) | [inline] |
ostream& operator<< | ( | ostream & | os, | |
const Normal & | v | |||
) | [inline] |
ostream& operator<< | ( | ostream & | os, | |
const Point & | v | |||
) | [inline] |
ostream& operator<< | ( | ostream & | os, | |
const Vector & | v | |||
) | [inline] |
Vector SphericalDirection | ( | float | sintheta, | |
float | costheta, | |||
float | phi, | |||
const Vector & | x, | |||
const Vector & | y, | |||
const Vector & | z | |||
) | [inline] |
Definition at line 389 of file geometry.h.
Vector SphericalDirection | ( | float | sintheta, | |
float | costheta, | |||
float | phi | |||
) | [inline] |
Definition at line 383 of file geometry.h.
References Vector::Vector().
Referenced by Anisotropic::Sample_f(), Blinn::Sample_f(), and SampleHG().
float SphericalPhi | ( | const Vector & | v | ) | [inline] |
Definition at line 401 of file geometry.h.
References M_PI, Vector::x, and Vector::y.
Referenced by InfiniteAreaLightIS::Le(), InfiniteAreaLight::Le(), InfiniteAreaLightIS::Pdf(), GonioPhotometricLight::Scale(), and SphericalMapping2D::sphere().
float SphericalTheta | ( | const Vector & | v | ) | [inline] |
Definition at line 398 of file geometry.h.
References Clamp(), and Vector::z.
Referenced by InfiniteAreaLightIS::Le(), InfiniteAreaLight::Le(), InfiniteAreaLightIS::Pdf(), GonioPhotometricLight::Scale(), and SphericalMapping2D::sphere().