|
Fermat
|
Classes | |
| struct | VPL |
| struct | Light |
| struct | DiskLight |
| struct | DirectionalLight |
| struct | MeshLight |
| struct | VTL |
Enumerations | |
| enum | LightType { kPoint = 0, kDisk = 1, kRectangle = 2, kDirectional = 3, kMesh = 4, kVTL = 5 } |
Functions | |
| FERMAT_HOST_DEVICE bool | Light::sample (const float *Z, uint32_t *prim_id, cugar::Vector2f *uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
| FERMAT_HOST_DEVICE bool | Light::sample (const cugar::Vector3f p, const float *Z, uint32_t *prim_id, cugar::Vector2f *uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
| FERMAT_HOST_DEVICE void | Light::intersect (const Ray ray, float2 *uv, float *t) const |
| FERMAT_HOST_DEVICE void | Light::map (const uint32_t prim_id, const cugar::Vector2f &uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
| FERMAT_HOST_DEVICE void | Light::map (const uint32_t prim_id, const cugar::Vector2f &uv, const VertexGeometry &geom, float *pdf, Edf *edf) const |
|
inline |
intersect the given ray with the light source
| ray | the input ray |
| uv | the output uv coordinates on the sampled primitive |
| t | the output ray intersection distance |
|
inline |
map a (prim,uv) pair to a surface element
| prim_id | the input primitive index, in case the light is made of a mesh |
| uv | the input uv coordinates on the sampled primitive |
| geom | the output sample's differential geometry |
| the output sample's area pdf | |
| edf | the output sample's EDF |
|
inline |
map a (prim,uv) pair and a (precomputed) surface element to the corresponding edf/pdf
| prim_id | the input primitive index, in case the light is made of a mesh |
| uv | the input uv coordinates on the sampled primitive |
| geom | the input sample's differential geometry |
| the output sample's area pdf | |
| edf | the output sample's EDF |
|
inline |
sample a point on the light source
| Z | the input random numbers |
| prim_id | the output primitive index, in case the light is made of a mesh |
| uv | the output uv coordinates on the sampled primitive |
| geom | the output sample's differential geometry |
| the output sample's area pdf | |
| edf | the output sample's EDF |
|
inline |
sample a point on the light source given a shading point (or receiver)
| p | the input shading point |
| Z | the input random numbers |
| prim_id | the output primitive index, in case the light is made of a mesh |
| uv | the output uv coordinates on the sampled primitive |
| geom | the output sample's differential geometry |
| the output sample's area pdf | |
| edf | the output sample's EDF |
1.8.13