#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 | |||
) |