The spica renderer
Public Member Functions | List of all members
spica::Envmap Class Reference

Environment mapping. More...

#include <envmap.h>

Inheritance diagram for spica::Envmap:
spica::Light spica::CObject spica::Uncopyable

Public Member Functions

 Envmap (const BSphere &worldSphere, const Image &texmap, const Transform &lightToWorld, double scale, int numSamples=1)
 The Envmap constructor. More...
 
 Envmap (RenderParams &params)
 
Spectrum sampleLi (const Interaction &pObj, const Point2d &rands, Vector3d *dir, double *pdf, VisibilityTester *vis) const override
 Sample incident radiance (Li) at the intersecting point. More...
 
double pdfLi (const Interaction &pObj, const Vector3d &dir) const override
 Compute PDF for the incident direction. More...
 
Spectrum sampleLe (const Point2d &rand1, const Point2d &rand2, Ray *ray, Normal3d *nLight, double *pdfPos, double *pdfDir) const override
 
void pdfLe (const Ray &ray, const Normal3d &nLight, double *pdfPos, double *pdfDir) const override
 
Spectrum Le (const Ray &ray) const override
 
Spectrum power () const override
 
Lightclone () const override
 
- Public Member Functions inherited from spica::Light
 Light (LightType type, const Transform &light2World, int numSamples=1)
 
LightType type () const
 
virtual Spectrum L (const Interaction &pLight, const Vector3d &dir) const
 
virtual bool isDelta () const
 
bool isArea () const
 

Additional Inherited Members

- Protected Attributes inherited from spica::Light
const LightType type_
 
const int numSamples_
 
const Transform lightToWorld_
 
const Transform worldToLight_
 

Detailed Description

Environment mapping.

Constructor & Destructor Documentation

spica::Envmap::Envmap ( const BSphere worldSphere,
const Image texmap,
const Transform lightToWorld,
double  scale,
int  numSamples = 1 
)

The Envmap constructor.

Member Function Documentation

double spica::Envmap::pdfLi ( const Interaction pObj,
const Vector3d dir 
) const
overridevirtual

Compute PDF for the incident direction.

Parameters
[in]isectThe intersecting point.
[in]inDirIncident direction.
Returns
PDF (probability density).

Implements spica::Light.

Spectrum spica::Envmap::sampleLi ( const Interaction pObj,
const Point2d rands,
Vector3d dir,
double *  pdf,
VisibilityTester vis 
) const
overridevirtual

Sample incident radiance (Li) at the intersecting point.

Parameters
[in]pObjThe intersecting point.
[in]randsA pair of real random numbers.
Returns
Sampled incident randiance.

Implements spica::Light.


The documentation for this class was generated from the following files: