Fermat
|
A sampler for the pinhole camera model
#include <camera.h>
Public Methods | |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE | CameraSampler () |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE | CameraSampler (const Camera &camera, const float aspect_ratio) |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE cugar::Vector3f | sample_direction (const cugar::Vector2f ndc) const |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | pdf (const cugar::Vector3f out, const bool projected=false) const |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | W_e (const cugar::Vector3f out) const |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE cugar::Vector2f | invert (const cugar::Vector3f out) const |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE cugar::Vector2f | invert (const cugar::Vector3f out, float *pdf_proj) const |
Public Members | |
cugar::Vector3f | U |
cugar::Vector3f | V |
cugar::Vector3f | W |
float | W_len |
float | square_focal_length |
|
inline |
empty constructor
|
inline |
constructor
|
inline |
invert the camera direction sampler
out | the given direction |
projected | whether to return the pdf in projected solid angle or solid angle measure |
|
inline |
invert the camera direction sampler and compute its projected pdf
out | the given direction |
projected | whether to return the pdf in projected solid angle or solid angle measure |
|
inline |
compute the direction pdf
|
inline |
sample a direction from normalized device coordinates (NDC) in [0,1]^2
|
inline |
compute the importance