Fermat
Public Methods | Public Members | List of all members
DirectionalLight Struct Reference

Detailed description

Directional-light class

#include <lights.h>

Inheritance diagram for DirectionalLight:
Light

Public Methods

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 bool sample_impl (const cugar::Vector3f p, const float *Z, uint32_t *prim_id, cugar::Vector2f *uv, VertexGeometry *geom, float *pdf, Edf *edf) const
 
- Public Methods inherited from Light
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
 

Public Members

cugar::Vector3f dir
 
cugar::Vector3f color
 
- Public Members inherited from Light
LightType type
 

Member Function Documentation

◆ sample_impl() [1/2]

FERMAT_HOST_DEVICE bool DirectionalLight::sample_impl ( const float *  Z,
uint32_t *  prim_id,
cugar::Vector2f uv,
VertexGeometry geom,
float *  pdf,
Edf edf 
) const
inline

sample a surface element on the light source

◆ sample_impl() [2/2]

FERMAT_HOST_DEVICE bool DirectionalLight::sample_impl ( const cugar::Vector3f  p,
const float *  Z,
uint32_t *  prim_id,
cugar::Vector2f uv,
VertexGeometry geom,
float *  pdf,
Edf edf 
) const
inline

sample a surface element on the light source


The documentation for this struct was generated from the following file: