#include <core/Surface.h>
Inheritance diagram for Surface:

Public Member Functions | |
| virtual bool | hit (Ray &r, HitRecord &rec, Context &context) const =0 |
| virtual bool | shadowHit (Ray &r, Context &context) const |
| virtual bool | randomPoint (Vector3 &on_light, Context &context) const |
| virtual bool | randomDirection (const HitRecord &rec, Context &context, Vector3 &w_in, double &pdf) const |
| virtual double | pdfDirection (const Vector3 &w_in, const HitRecord &rec, Context &context) const |
| virtual int | triangulate (int lod, MeshTriangle *tris, const Context &context) |
| virtual BBox | boundingBox (double time0, double time1) const =0 |
| virtual bool | overlapsBox (const BBox &box) const =0 |
|
||||||||||||||||
|
Intersect given ray with the surface.
Implemented in BVH, HG, SurfaceList, UG, ConstantMedium, Instance, MeshTriangle, Parallelogram, RayleighMedium, Sphere, and Triangle. |
|
||||||||||||
|
Intersect without visibility ordering or shading geometry.
Reimplemented in BVH, HG, SurfaceList, UG, ConstantMedium, MeshTriangle, Parallelogram, RayleighMedium, Sphere, and Triangle. |
|
||||||||||||
|
Randomly sample a point on the surface.
Reimplemented in Parallelogram, and Sphere. |
|
||||||||||||||||||||
|
Randomly sample the solid angle subtended by the surface from rec.p.
Reimplemented in Parallelogram, and Sphere. |
|
||||||||||||||||
|
Evalute pdf for the given direction.
Reimplemented in Parallelogram, Sphere, and Triangle. |
|
||||||||||||
|
Calculate the bounding box of the surface.
Implemented in BVH, HG, SurfaceList, UG, ConstantMedium, Instance, MeshTriangle, Parallelogram, RayleighMedium, Sphere, and Triangle. |
|
|
Determine if this surface overlaps the input axis aligned box.
Implemented in BVH, HG, SurfaceList, UG, ConstantMedium, Instance, MeshTriangle, Parallelogram, RayleighMedium, Sphere, and Triangle. |
1.4.3