#include <malloc.h>#include <alloca.h>#include <math.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <string>#include <vector>#include <iostream>#include <algorithm>#include <assert.h>Go to the source code of this file.
Classes | |
| struct | ProgressReporter |
| class | StatsCounter |
| class | StatsRatio |
| class | StatsPercentage |
| class | ReferenceCounted |
| class | Reference< T > |
| class | ObjectArena< T > |
| class | MemoryArena |
| class | BlockedArray< T, logBlockSize > |
| struct | Matrix4x4 |
Defines | |
| #define | _GNU_SOURCE 1 |
| #define | COREDLL |
| #define | DLLEXPORT |
| #define | PBRT_PATH_SEP ":" |
| #define | BC_GRID_SIZE 40 |
| #define | GRID(v) (int((v) * BC_GRID_SIZE)) |
| #define | M_PI 3.14159265358979323846f |
| #define | INV_PI 0.31830988618379067154f |
| #define | INV_TWOPI 0.15915494309189533577f |
| #define | INFINITY FLT_MAX |
| #define | PBRT_VERSION 1.03 |
| #define | RAY_EPSILON 1e-3f |
| #define | COLOR_SAMPLES 3 |
| #define | PRINTF_FUNC |
| #define | Assert(expr) |
| #define | _doublemagicroundeps (.5-1.4e-11) |
| #define | _doublemagicroundeps (.5-1.4e-11) |
| #define | _GNU_SOURCE 1 |
| #define | COREDLL |
| #define | DLLEXPORT |
| #define | PBRT_PATH_SEP ":" |
| #define | BC_GRID_SIZE 40 |
| #define | GRID(v) (int((v) * BC_GRID_SIZE)) |
| #define | M_PI 3.14159265358979323846f |
| #define | INV_PI 0.31830988618379067154f |
| #define | INV_TWOPI 0.15915494309189533577f |
| #define | INFINITY FLT_MAX |
| #define | PBRT_VERSION 1.03 |
| #define | RAY_EPSILON 1e-3f |
| #define | COLOR_SAMPLES 3 |
| #define | PRINTF_FUNC |
| #define | Assert(expr) |
| #define | _doublemagicroundeps (.5-1.4e-11) |
| #define | _doublemagicroundeps (.5-1.4e-11) |
| #define | _GNU_SOURCE 1 |
| #define | COREDLL |
| #define | DLLEXPORT |
| #define | PBRT_PATH_SEP ":" |
| #define | BC_GRID_SIZE 40 |
| #define | GRID(v) (int((v) * BC_GRID_SIZE)) |
| #define | M_PI 3.14159265358979323846f |
| #define | INV_PI 0.31830988618379067154f |
| #define | INV_TWOPI 0.15915494309189533577f |
| #define | INFINITY FLT_MAX |
| #define | PBRT_VERSION 1.03 |
| #define | RAY_EPSILON 1e-3f |
| #define | COLOR_SAMPLES 3 |
| #define | PRINTF_FUNC |
| #define | Assert(expr) |
| #define | _doublemagicroundeps (.5-1.4e-11) |
| #define | _doublemagicroundeps (.5-1.4e-11) |
Typedefs | |
| typedef double | StatsCounterType |
| typedef unsigned char | u_char |
| typedef unsigned short | u_short |
| typedef unsigned int | u_int |
| typedef unsigned long | u_long |
| typedef vector< int > | SampleGrid [BC_GRID_SIZE][BC_GRID_SIZE] |
Functions | |
| COREDLL float | Noise (float x, float y=.5f, float z=.5f) |
| COREDLL float | Noise (const Point &P) |
| COREDLL float | FBm (const Point &P, const Vector &dpdx, const Vector &dpdy, float omega, int octaves) |
| COREDLL float | Turbulence (const Point &P, const Vector &dpdx, const Vector &dpdy, float omega, int octaves) |
| COREDLL void | Info (const char *,...) PRINTF_FUNC |
| COREDLL void | Warning (const char *,...) PRINTF_FUNC |
| COREDLL void | Error (const char *,...) PRINTF_FUNC |
| COREDLL void | Severe (const char *,...) PRINTF_FUNC |
| void | StatsPrint (FILE *dest) |
| void | StatsCleanup () |
| COREDLL void * | AllocAligned (size_t size) |
| COREDLL void | FreeAligned (void *) |
| COREDLL bool | SolveLinearSystem2x2 (const float A[2][2], const float B[2], float x[2]) |
| COREDLL unsigned long | genrand_int32 (void) |
| COREDLL float | genrand_real1 (void) |
| COREDLL float | genrand_real2 (void) |
| COREDLL Spectrum * | ReadImage (const string &name, int *xSize, int *ySize) |
| COREDLL void | WriteRGBAImage (const string &name, float *pixels, float *alpha, int XRes, int YRes, int totalXRes, int totalYRes, int xOffset, int yOffset) |
| COREDLL void | pbrtInit () |
| COREDLL void | pbrtCleanup () |
| COREDLL Transform | Translate (const Vector &delta) |
| COREDLL Transform | Scale (float x, float y, float z) |
| COREDLL Transform | RotateX (float angle) |
| COREDLL Transform | RotateY (float angle) |
| COREDLL Transform | RotateZ (float angle) |
| COREDLL Transform | Rotate (float angle, const Vector &axis) |
| COREDLL Transform | LookAt (const Point &pos, const Point &look, const Vector &up) |
| COREDLL Transform | Orthographic (float znear, float zfar) |
| COREDLL Transform | Perspective (float fov, float znear, float zfar) |
| COREDLL Spectrum | FrDiel (float cosi, float cost, const Spectrum &etai, const Spectrum &etat) |
| COREDLL Spectrum | FrCond (float cosi, const Spectrum &n, const Spectrum &k) |
| COREDLL Spectrum | FresnelApproxEta (const Spectrum &intensity) |
| COREDLL Spectrum | FresnelApproxK (const Spectrum &intensity) |
| COREDLL float | Lanczos (float, float tau=2) |
| COREDLL Spectrum | EstimateDirect (const Scene *scene, const Light *light, const Point &p, const Normal &n, const Vector &wo, BSDF *bsdf, const Sample *sample, int lightSamp, int bsdfSamp, int bsdfComponent, u_int sampleNum) |
| COREDLL void | ComputeStep1dCDF (float *f, int nValues, float *c, float *cdf) |
| COREDLL float | SampleStep1d (float *f, float *cdf, float c, int nSteps, float u, float *weight) |
| COREDLL void | ConcentricSampleDisk (float u1, float u2, float *dx, float *dy) |
| COREDLL void | UniformSampleTriangle (float ud1, float ud2, float *u, float *v) |
| COREDLL bool | ParseFile (const char *filename) |
| float | Lerp (float t, float v1, float v2) |
| float | Clamp (float val, float low, float high) |
| int | Clamp (int val, int low, int high) |
| int | Mod (int a, int b) |
| float | Radians (float deg) |
| float | Degrees (float rad) |
| float | Log2 (float x) |
| int | Log2Int (float v) |
| bool | IsPowerOf2 (int v) |
| u_int | RoundUpPow2 (u_int v) |
| int | Round2Int (double val) |
| int | Float2Int (double val) |
| int | Floor2Int (double val) |
| int | Ceil2Int (double val) |
| float | RandomFloat () |
| unsigned long | RandomUInt () |
| bool | Quadratic (float A, float B, float C, float *t0, float *t1) |
| float | SmoothStep (float min, float max, float value) |
| float | ExponentialAverage (float avg, float val, float alpha) |
| #define _doublemagicroundeps (.5-1.4e-11) |
| #define _doublemagicroundeps (.5-1.4e-11) |
| #define _doublemagicroundeps (.5-1.4e-11) |
| #define _doublemagicroundeps (.5-1.4e-11) |
| #define _doublemagicroundeps (.5-1.4e-11) |
Definition at line 600 of file pbrtlex.l.
Referenced by Ceil2Int(), Float2Int(), Floor2Int(), Log2Int(), and Round2Int().
| #define _GNU_SOURCE 1 |
| #define _GNU_SOURCE 1 |
| #define Assert | ( | expr | ) |
Value:
((expr) ? (void)0 : \ Severe("Assertion \"%s\" failed in %s, line %d", \ #expr, __FILE__, __LINE__))
| #define Assert | ( | expr | ) |
Value:
((expr) ? (void)0 : \ Severe("Assertion \"%s\" failed in %s, line %d", \ #expr, __FILE__, __LINE__))
| #define Assert | ( | expr | ) |
Value:
((expr) ? (void)0 : \ Severe("Assertion \"%s\" failed in %s, line %d", \ #expr, __FILE__, __LINE__))
Definition at line 542 of file pbrtlex.l.
Referenced by BSDF::Add(), KdTreeAccel::buildTree(), CreateShape(), GridAccel::GridAccel(), Voxel::Intersect(), Voxel::IntersectP(), main(), Transform::operator()(), Vector::operator/(), Vector::operator/=(), Vector::operator[](), Redistribute2D(), MIPMap< Spectrum >::resampleWeights(), BSDF::Sample_f(), Timer::Start(), and Timer::Stop().
| #define BC_GRID_SIZE 40 |
| #define BC_GRID_SIZE 40 |
| #define BC_GRID_SIZE 40 |
Definition at line 152 of file pbrtlex.l.
Referenced by BestCandidate2D(), main(), and Redistribute2D().
| #define COLOR_SAMPLES 3 |
| #define COLOR_SAMPLES 3 |
| #define COLOR_SAMPLES 3 |
Definition at line 210 of file pbrtlex.l.
Referenced by Spectrum::AddWeighted(), Spectrum::Black(), Spectrum::Clamp(), UVTexture::Evaluate(), Spectrum::IsNaN(), Spectrum::operator*(), Spectrum::operator*=(), Spectrum::operator+(), Spectrum::operator+=(), Spectrum::operator-(), Spectrum::operator/(), Spectrum::operator/=(), operator<<(), Spectrum::operator==(), Spectrum::Pow(), Spectrum::Print(), Spectrum::Spectrum(), Spectrum::Sqrt(), Spectrum::XYZ(), and Spectrum::y().
| #define COREDLL |
| #define COREDLL |
| #define DLLEXPORT |
| #define DLLEXPORT |
| #define GRID | ( | v | ) | (int((v) * BC_GRID_SIZE)) |
| #define GRID | ( | v | ) | (int((v) * BC_GRID_SIZE)) |
| #define GRID | ( | v | ) | (int((v) * BC_GRID_SIZE)) |
Definition at line 154 of file pbrtlex.l.
Referenced by addSampleToGrid(), BestCandidate2D(), main(), and Redistribute2D().
| #define INFINITY FLT_MAX |
| #define INFINITY FLT_MAX |
| #define INFINITY FLT_MAX |
Definition at line 206 of file pbrtlex.l.
Referenced by BBox::BBox(), BestCandidate2D(), KdTreeAccel::buildTree(), MIPMap< Spectrum >::clamp(), AggregateVolume::IntersectP(), ExPhotonIntegrator::Li(), main(), Shape::Pdf(), Redistribute2D(), and ImageFilm::WriteImage().
| #define INV_PI 0.31830988618379067154f |
| #define INV_PI 0.31830988618379067154f |
| #define INV_PI 0.31830988618379067154f |
Definition at line 203 of file pbrtlex.l.
Referenced by CosineHemispherePdf(), Lafortune::f(), OrenNayar::f(), InfiniteAreaLightIS::Le(), InfiniteAreaLight::Le(), PhotonIntegrator::LPhoton(), ExPhotonIntegrator::LPhoton(), FresnelBlend::Pdf(), BxDF::Pdf(), InfiniteAreaLightIS::Pdf(), ExPhotonIntegrator::Preprocess(), GonioPhotometricLight::Scale(), and SphericalMapping2D::sphere().
| #define INV_TWOPI 0.15915494309189533577f |
| #define INV_TWOPI 0.15915494309189533577f |
| #define INV_TWOPI 0.15915494309189533577f |
Definition at line 204 of file pbrtlex.l.
Referenced by Anisotropic::D(), Blinn::D(), Disk::Intersect(), InfiniteAreaLightIS::Le(), InfiniteAreaLight::Le(), InfiniteAreaLightIS::Pdf(), InfiniteAreaLight::Pdf(), BxDF::rho(), InfiniteAreaLight::Sample_L(), AreaLight::Sample_L(), GonioPhotometricLight::Scale(), SphericalMapping2D::sphere(), and UniformHemispherePdf().
| #define M_PI 3.14159265358979323846f |
| #define M_PI 3.14159265358979323846f |
| #define M_PI 3.14159265358979323846f |
Definition at line 202 of file pbrtlex.l.
Referenced by ConcentricSampleDisk(), CylindricalMapping2D::cylinder(), Degrees(), ExPhotonIntegrator::estimateE(), FresnelBlend::f(), EnvironmentCamera::GenerateRay(), IrradianceCache::IndirectLo(), InfiniteAreaLightIS::InfiniteAreaLightIS(), Sphere::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Disk::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Sphere::IntersectP(), Paraboloid::IntersectP(), Hyperboloid::IntersectP(), Disk::IntersectP(), Cylinder::IntersectP(), Cone::IntersectP(), kernel(), Lanczos(), PhotonIntegrator::LPhoton(), Blinn::Pdf(), InfiniteAreaLightIS::Pdf(), InfiniteAreaLight::Pdf(), PhaseHG(), PhaseIsotropic(), PhaseMieHazy(), PhaseMieMurky(), PhaseRayleigh(), PhaseSchlick(), SpotLight::Power(), ProjectionLight::Power(), PointLight::Power(), AreaLight::Power(), InfiniteAreaLightIS::Power(), InfiniteAreaLight::Power(), GonioPhotometricLight::Power(), DistantLight::Power(), IGIIntegrator::Preprocess(), Radians(), LoopSubdiv::Refine(), BxDF::rho(), Anisotropic::Sample_f(), Blinn::Sample_f(), InfiniteAreaLightIS::Sample_L(), InfiniteAreaLight::Sample_L(), DistantLight::Sample_L(), Anisotropic::sampleFirstQuadrant(), SampleHG(), LanczosSincFilter::Sinc1D(), SphericalPhi(), UniformConePdf(), UniformSampleCone(), UniformSampleDisk(), UniformSampleHemisphere(), UniformSampleSphere(), and UniformSpherePdf().
| #define PBRT_PATH_SEP ":" |
| #define PBRT_PATH_SEP ":" |
| #define PBRT_PATH_SEP ":" |
Definition at line 115 of file pbrtlex.l.
Referenced by RenderOptions::RenderOptions(), and SearchPath().
| #define PBRT_VERSION 1.03 |
| #define PBRT_VERSION 1.03 |
| #define PRINTF_FUNC |
| #define PRINTF_FUNC |
| #define RAY_EPSILON 1e-3f |
| #define RAY_EPSILON 1e-3f |
| #define RAY_EPSILON 1e-3f |
Definition at line 209 of file pbrtlex.l.
Referenced by IGIIntegrator::Li(), ProjectionLight::ProjectionLight(), VisibilityTester::SetRay(), VisibilityTester::SetSegment(), and BidirIntegrator::visible().
| typedef vector< int > SampleGrid |
| typedef double StatsCounterType |
| COREDLL void * AllocAligned | ( | size_t | size | ) |
Definition at line 389 of file util.cpp.
References L1_CACHE_LINE_SIZE.
Referenced by MemoryArena::Alloc(), ObjectArena< Voxel >::Alloc(), BlockedArray< Spectrum >::BlockedArray(), KdTreeAccel::buildTree(), GridAccel::GridAccel(), KdTree< NodeData, LookupProc >::KdTree(), KdTreeAccel::KdTreeAccel(), MemoryArena::MemoryArena(), MIPMap< T >::MIPMap(), RandomSampler::RandomSampler(), Sample::Sample(), and StratifiedSampler::StratifiedSampler().
| int Ceil2Int | ( | double | val | ) | [inline] |
Definition at line 626 of file pbrt.h.
References _doublemagicroundeps, and Round2Int().
Referenced by ImageFilm::AddSample(), MIPMap< T >::EWA(), BestCandidateSampler::GetNextSample(), ImageFilm::ImageFilm(), SingleScattering::Li(), EmissionIntegrator::Li(), and BestCandidateSampler::RoundSize().
| float Clamp | ( | float | val, | |
| float | low, | |||
| float | high | |||
| ) | [inline] |
Definition at line 549 of file pbrt.h.
Referenced by MIPMap< Spectrum >::clamp(), Spectrum::Clamp(), Cone::Cone(), CreateFilm(), Cylinder::Cylinder(), VolumeGrid::D(), Disk::Disk(), FresnelDielectric::Evaluate(), Matte::GetBSDF(), GridAccel::GridAccel(), Hyperboloid::Hyperboloid(), IrradianceCache::IndirectLo(), MIPMap< T >::MIPMap(), Paraboloid::Paraboloid(), InfiniteAreaLightIS::Pdf(), GridAccel::PosToVoxel(), InfiniteAreaLightIS::Sample_L(), SmoothStep(), Sphere::Sphere(), SphericalTheta(), MIPMap< T >::texel(), MIPMap< T >::triangle(), and ImageFilm::WriteImage().
| COREDLL void ComputeStep1dCDF | ( | float * | f, | |
| int | nValues, | |||
| float * | c, | |||
| float * | cdf | |||
| ) |
Definition at line 31 of file mc.cpp.
Referenced by Distribution1D::Distribution1D(), IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), and WeightedSampleOneLight().
| COREDLL void ConcentricSampleDisk | ( | float | u1, | |
| float | u2, | |||
| float * | dx, | |||
| float * | dy | |||
| ) |
Definition at line 91 of file mc.cpp.
References M_PI.
Referenced by CosineSampleHemisphere(), PerspectiveCamera::GenerateRay(), OrthoCamera::GenerateRay(), Disk::Sample(), InfiniteAreaLight::Sample_L(), and DistantLight::Sample_L().
| COREDLL void Error | ( | const char * | , | |
| ... | ||||
| ) |
Definition at line 86 of file util.cpp.
References PBRT_ERROR_CONTINUE, and processError().
Referenced by CreateFloatTexture(), CreateShape(), CreateSpectrumTexture(), CreateSurfaceIntegrator(), CreateVolumeRegion(), TextureParams::GetFloatTexture(), GetPlugin(), TextureParams::GetSpectrumTexture(), Matrix4x4::Inverse(), main(), pbrtAttributeEnd(), pbrtCleanup(), pbrtInit(), pbrtLightSource(), pbrtObjectBegin(), pbrtObjectEnd(), pbrtObjectInstance(), pbrtTexture(), pbrtTransformEnd(), Plugin::Plugin(), PhotonIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), ReadImage(), Scene::Render(), and WriteRGBAImage().
| COREDLL Spectrum EstimateDirect | ( | const Scene * | scene, | |
| const Light * | light, | |||
| const Point & | p, | |||
| const Normal & | n, | |||
| const Vector & | wo, | |||
| BSDF * | bsdf, | |||
| const Sample * | sample, | |||
| int | lightSamp, | |||
| int | bsdfSamp, | |||
| int | bsdfComponent, | |||
| u_int | sampleNum | |||
| ) |
Definition at line 123 of file transport.cpp.
References AbsDot(), Spectrum::Black(), BSDF_ALL, BSDF_SPECULAR, BSDF::f(), Primitive::GetAreaLight(), Scene::Intersect(), Light::IsDeltaLight(), Light::Le(), Intersection::Le(), Integrator::Li(), Sample::oneD, Light::Pdf(), BSDF::Pdf(), PowerHeuristic(), Intersection::primitive, RandomFloat(), BSDF::Sample_f(), Light::Sample_L(), Scene::Transmittance(), VisibilityTester::Transmittance(), Sample::twoD, and VisibilityTester::Unoccluded().
Referenced by UniformSampleAllLights(), UniformSampleOneLight(), and WeightedSampleOneLight().
| float ExponentialAverage | ( | float | avg, | |
| float | val, | |||
| float | alpha | |||
| ) | [inline] |
| COREDLL float FBm | ( | const Point & | P, | |
| const Vector & | dpdx, | |||
| const Vector & | dpdy, | |||
| float | omega, | |||
| int | octaves | |||
| ) |
Definition at line 202 of file texture.cpp.
References Floor2Int(), Vector::LengthSquared(), Log2(), Noise(), and SmoothStep().
Referenced by WindyTexture< T >::Evaluate(), MarbleTexture::Evaluate(), and FBmTexture< T >::Evaluate().
| int Float2Int | ( | double | val | ) | [inline] |
Definition at line 611 of file pbrt.h.
References _doublemagicroundeps, and Round2Int().
Referenced by ApplyImagingPipeline(), MIPMap< T >::EWA(), InfiniteAreaLightIS::Pdf(), GridAccel::PosToVoxel(), InfiniteAreaLightIS::Sample_L(), and WeightedSampleOneLight().
| int Floor2Int | ( | double | val | ) | [inline] |
Definition at line 619 of file pbrt.h.
References _doublemagicroundeps, and Round2Int().
Referenced by ImageFilm::AddSample(), VolumeGrid::Density(), UVTexture::Evaluate(), MarbleTexture::Evaluate(), DotsTexture< T >::Evaluate(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), MIPMap< T >::EWA(), FBm(), ImageFilm::GetSampleExtent(), SingleScattering::Li(), ExPhotonIntegrator::Li(), BidirIntegrator::Li(), MIPMap< T >::Lookup(), Noise(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), MIPMap< Spectrum >::resampleWeights(), BSDF::Sample_f(), MIPMap< T >::triangle(), Turbulence(), and UniformSampleOneLight().
| COREDLL void FreeAligned | ( | void * | ) |
Definition at line 395 of file util.cpp.
Referenced by KdTreeAccel::buildTree(), ObjectArena< Voxel >::FreeAll(), BlockedArray< Spectrum >::~BlockedArray(), GridAccel::~GridAccel(), KdTree< Photon, PhotonProcess >::~KdTree(), KdTreeAccel::~KdTreeAccel(), MemoryArena::~MemoryArena(), RandomSampler::~RandomSampler(), Sample::~Sample(), and StratifiedSampler::~StratifiedSampler().
Definition at line 52 of file reflection.cpp.
References Spectrum::Clamp(), and Spectrum::Sqrt().
Referenced by ShinyMetal::GetBSDF().
| COREDLL unsigned long genrand_int32 | ( | void | ) |
Definition at line 340 of file util.cpp.
References init_genrand(), LOWER_MASK, M, MATRIX_A, mt, mti, N, and UPPER_MASK.
Referenced by genrand_real1(), genrand_real2(), and RandomUInt().
| COREDLL float genrand_real1 | ( | void | ) |
| COREDLL float genrand_real2 | ( | void | ) |
| COREDLL void Info | ( | const char * | , | |
| ... | ||||
| ) |
| bool IsPowerOf2 | ( | int | v | ) | [inline] |
Definition at line 584 of file pbrt.h.
Referenced by Voxel::AddPrimitive(), LDSampler::LDSampler(), and MIPMap< T >::MIPMap().
| COREDLL float Lanczos | ( | float | , | |
| float | tau = 2 | |||
| ) |
Definition at line 241 of file texture.cpp.
References M_PI.
Referenced by MIPMap< Spectrum >::resampleWeights().
| float Lerp | ( | float | t, | |
| float | v1, | |||
| float | v2 | |||
| ) | [inline] |
Definition at line 546 of file pbrt.h.
Referenced by ApplyImagingPipeline(), VolumeGrid::Density(), PerspectiveCamera::GenerateRay(), OrthoCamera::GenerateRay(), EnvironmentCamera::GenerateRay(), HighContrastOp::Map(), Noise(), NURBS::Refine(), Cylinder::Sample(), and UniformSampleCone().
| float Log2 | ( | float | x | ) | [inline] |
Definition at line 572 of file pbrt.h.
Referenced by FBm(), Log2Int(), MIPMap< T >::Lookup(), and Turbulence().
| int Log2Int | ( | float | v | ) | [inline] |
Definition at line 576 of file pbrt.h.
References _doublemagicroundeps, and Log2().
Referenced by KdTreeAccel::KdTreeAccel(), and MIPMap< T >::MIPMap().
Definition at line 113 of file transform.cpp.
References Cross(), Matrix4x4::Inverse(), Normalize(), Vector::x, Point::x, Vector::y, Point::y, Vector::z, and Point::z.
Referenced by pbrtLookAt().
| int Mod | ( | int | a, | |
| int | b | |||
| ) | [inline] |
Definition at line 559 of file pbrt.h.
Referenced by MIPMap< T >::MIPMap(), and MIPMap< T >::texel().
| COREDLL float Noise | ( | const Point & | P | ) |
| COREDLL float Noise | ( | float | x, | |
| float | y = .5f, |
|||
| float | z = .5f | |||
| ) |
Definition at line 156 of file texture.cpp.
References Floor2Int(), Grad(), Lerp(), NOISE_PERM_SIZE, and NoiseWeight().
Referenced by DotsTexture< T >::Evaluate(), FBm(), Noise(), and Turbulence().
| COREDLL Transform Orthographic | ( | float | znear, | |
| float | zfar | |||
| ) |
| COREDLL bool ParseFile | ( | const char * | filename | ) |
Definition at line 27 of file parser.cpp.
References current_file, and line_num.
Referenced by main().
| COREDLL void pbrtCleanup | ( | ) |
Definition at line 163 of file api.cpp.
References currentApiState, Error(), STATE_UNINITIALIZED, STATE_WORLD_BLOCK, and StatsCleanup().
Referenced by main().
| COREDLL void pbrtInit | ( | ) |
Definition at line 141 of file api.cpp.
References currentApiState, Error(), GraphicsState::GraphicsState(), STATE_OPTIONS_BLOCK, and STATE_UNINITIALIZED.
Referenced by main().
| COREDLL Transform Perspective | ( | float | fov, | |
| float | znear, | |||
| float | zfar | |||
| ) |
Definition at line 182 of file transform.cpp.
References Radians(), Scale(), and Transform::Transform().
Referenced by ProjectionLight::ProjectionLight().
| bool Quadratic | ( | float | A, | |
| float | B, | |||
| float | C, | |||
| float * | t0, | |||
| float * | t1 | |||
| ) | [inline] |
Definition at line 642 of file pbrt.h.
Referenced by Sphere::Intersect(), Paraboloid::Intersect(), Hyperboloid::Intersect(), Cylinder::Intersect(), Cone::Intersect(), Sphere::IntersectP(), Paraboloid::IntersectP(), Hyperboloid::IntersectP(), Cylinder::IntersectP(), and Cone::IntersectP().
| float Radians | ( | float | deg | ) | [inline] |
Definition at line 566 of file pbrt.h.
References M_PI.
Referenced by Cone::Cone(), Cylinder::Cylinder(), Disk::Disk(), ExPhotonIntegrator::ExPhotonIntegrator(), Hyperboloid::Hyperboloid(), OrenNayar::OrenNayar(), Paraboloid::Paraboloid(), Perspective(), ProjectionLight::ProjectionLight(), Rotate(), RotateX(), RotateY(), RotateZ(), Sphere::Sphere(), and SpotLight::SpotLight().
| float RandomFloat | ( | ) | [inline] |
Definition at line 635 of file pbrt.h.
References genrand_real2().
Referenced by ApplyImagingPipeline(), BestCandidate2D(), EstimateDirect(), BidirIntegrator::generatePath(), RandomSampler::GetNextSample(), BestCandidateSampler::GetNextSample(), IrradianceCache::IndirectLo(), LatinHypercube(), SingleScattering::Li(), PathIntegrator::Li(), IGIIntegrator::Li(), EmissionIntegrator::Li(), main(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), RandomSampler::RandomSampler(), RejectionSampleDisk(), ShapeSet::Sample(), BSDF::Sample_f(), InfiniteAreaLightIS::Sample_L(), InfiniteAreaLight::Sample_L(), AreaLight::Sample_L(), StratifiedSample1D(), StratifiedSample2D(), SingleScattering::Transmittance(), EmissionIntegrator::Transmittance(), and UniformSampleOneLight().
| unsigned long RandomUInt | ( | ) | [inline] |
Definition at line 639 of file pbrt.h.
References genrand_int32().
Referenced by IrradianceCache::IndirectLo(), LatinHypercube(), LDShuffleScrambled1D(), LDShuffleScrambled2D(), and Shuffle().
| COREDLL Spectrum* ReadImage | ( | const string & | name, | |
| int * | xSize, | |||
| int * | ySize | |||
| ) |
Definition at line 39 of file exrio.cpp.
References Error(), and Spectrum::y().
Referenced by ImageTexture< T >::GetTexture(), GonioPhotometricLight::GonioPhotometricLight(), InfiniteAreaLight::InfiniteAreaLight(), InfiniteAreaLightIS::InfiniteAreaLightIS(), and ProjectionLight::ProjectionLight().
Definition at line 84 of file transform.cpp.
References Normalize(), Radians(), Matrix4x4::Transpose(), Vector::x, Vector::y, and Vector::z.
Referenced by pbrtRotate().
| COREDLL Transform RotateX | ( | float | angle | ) |
| COREDLL Transform RotateY | ( | float | angle | ) |
| COREDLL Transform RotateZ | ( | float | angle | ) |
| int Round2Int | ( | double | val | ) | [inline] |
Definition at line 601 of file pbrt.h.
References _doublemagicroundeps.
Referenced by Ceil2Int(), Float2Int(), Floor2Int(), GridAccel::GridAccel(), and KdTreeAccel::KdTreeAccel().
Definition at line 587 of file pbrt.h.
Referenced by IGIIntegrator::IGIIntegrator(), LDSampler::LDSampler(), MIPMap< T >::MIPMap(), and LDSampler::RoundSize().
| COREDLL float SampleStep1d | ( | float * | f, | |
| float * | cdf, | |||
| float | c, | |||
| int | nSteps, | |||
| float | u, | |||
| float * | weight | |||
| ) |
Definition at line 43 of file mc.cpp.
Referenced by IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), and WeightedSampleOneLight().
| COREDLL Transform Scale | ( | float | x, | |
| float | y, | |||
| float | z | |||
| ) |
Definition at line 44 of file transform.cpp.
Referenced by Orthographic(), pbrtScale(), Perspective(), and ProjectiveCamera::ProjectiveCamera().
| COREDLL void Severe | ( | const char * | , | |
| ... | ||||
| ) |
Definition at line 92 of file util.cpp.
References PBRT_ERROR_ABORT, and processError().
Referenced by Shape::Area(), Aggregate::GetAreaLight(), Aggregate::GetBSDF(), Plugin::GetSymbol(), include_push(), Shape::Intersect(), Shape::IntersectP(), DebugIntegrator::Li(), main(), RenderOptions::MakeScene(), SDFace::otherVert(), pbrtObjectInstance(), pbrtShape(), pbrtWorldEnd(), Shape::Refine(), Primitive::Refine(), Shape::Sample(), Timer::Timer(), and SDFace::vnum().
| float SmoothStep | ( | float | min, | |
| float | max, | |||
| float | value | |||
| ) | [inline] |
Definition at line 657 of file pbrt.h.
References Clamp().
Referenced by FBm(), IGIIntegrator::Li(), and Turbulence().
| COREDLL bool SolveLinearSystem2x2 | ( | const float | A[2][2], | |
| const float | B[2], | |||
| float | x[2] | |||
| ) |
Definition at line 99 of file util.cpp.
Referenced by DifferentialGeometry::ComputeDifferentials(), and Triangle::GetShadingGeometry().
| void StatsCleanup | ( | ) |
| void StatsPrint | ( | FILE * | dest | ) |
Definition at line 228 of file util.cpp.
References StatTracker::category, StatTracker::name, StatTracker::percentage, StatTracker::ptra, StatTracker::ptrb, StatsPrintVal(), and trackers.
Referenced by pbrtWorldEnd().
Definition at line 32 of file transform.cpp.
References Vector::x, Vector::y, and Vector::z.
Referenced by CreateLight(), Orthographic(), pbrtTranslate(), and ProjectiveCamera::ProjectiveCamera().
| COREDLL float Turbulence | ( | const Point & | P, | |
| const Vector & | dpdx, | |||
| const Vector & | dpdy, | |||
| float | omega, | |||
| int | octaves | |||
| ) |
Definition at line 221 of file texture.cpp.
References Floor2Int(), Vector::LengthSquared(), Log2(), Noise(), and SmoothStep().
Referenced by WrinkledTexture< T >::Evaluate().
| COREDLL void UniformSampleTriangle | ( | float | ud1, | |
| float | ud2, | |||
| float * | u, | |||
| float * | v | |||
| ) |
| COREDLL void Warning | ( | const char * | , | |
| ... | ||||
| ) |
Definition at line 80 of file util.cpp.
References PBRT_ERROR_CONTINUE, and processError().
Referenced by AreaLight::AreaLight(), Camera::Camera(), Checkerboard2D< T >::Checkerboard2D(), CreateShape(), CreateSurfaceIntegrator(), LDSampler::LDSampler(), Light::Light(), pbrtShape(), pbrtTexture(), pbrtWorldEnd(), RenderOptions::RenderOptions(), and Scene::Scene().
| COREDLL void WriteRGBAImage | ( | const string & | name, | |
| float * | pixels, | |||
| float * | alpha, | |||
| int | XRes, | |||
| int | YRes, | |||
| int | totalXRes, | |||
| int | totalYRes, | |||
| int | xOffset, | |||
| int | yOffset | |||
| ) |
1.5.6