|
FERMAT_HOST_DEVICE | MeshLight (const uint32 _n_prims, const float *_prims_cdf, const float *_prims_inv_area, MeshView _mesh, const MipMapView *_textures, const uint32 _n_vpls, const float *_vpls_cdf, const VPL *_vpls, const float _norm) |
|
FERMAT_HOST_DEVICE bool | sample_impl (const float *Z, uint32_t *prim_id, cugar::Vector2f *uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
|
FERMAT_HOST_DEVICE void | intersect_impl (const Ray ray, float2 *uv, float *t) const |
|
FERMAT_HOST_DEVICE void | map_impl (const uint32_t prim_id, const cugar::Vector2f &uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
|
FERMAT_HOST_DEVICE void | map_impl (const uint32_t prim_id, const cugar::Vector2f &uv, const VertexGeometry &geom, float *pdf, Edf *edf) const |
|
FERMAT_HOST_DEVICE bool | invert_impl (const uint32_t prim_id, const cugar::Vector2f &uv, const float *in_Z, float *out_Z, float *out_pdf) const |
|
FERMAT_HOST_DEVICE float | inverse_pdf_impl (const uint32_t prim_id, const cugar::Vector2f &uv, const float *out_Z) const |
|
FERMAT_HOST_DEVICE uint32 | vpl_count () const |
|
FERMAT_HOST_DEVICE VPL | get_vpl (const uint32 i) const |
|
FERMAT_HOST_DEVICE void | map_vpl (const uint32 vpl_idx, uint32_t *prim_id, cugar::Vector2f *uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
|
FERMAT_HOST_DEVICE | Light (LightType _type) |
|
FERMAT_HOST_DEVICE bool | sample (const float *Z, uint32_t *prim_id, cugar::Vector2f *uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
|
FERMAT_HOST_DEVICE bool | 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 | intersect (const Ray ray, float2 *uv, float *t) const |
|
FERMAT_HOST_DEVICE void | map (const uint32_t prim_id, const cugar::Vector2f &uv, VertexGeometry *geom, float *pdf, Edf *edf) const |
|
FERMAT_HOST_DEVICE void | map (const uint32_t prim_id, const cugar::Vector2f &uv, const VertexGeometry &geom, float *pdf, Edf *edf) const |
|