8#ifndef IGL_AMBIENT_OCCLUSION_H
9#define IGL_AMBIENT_OCCLUSION_H
34 const Eigen::Vector3f&,
35 const Eigen::Vector3f&)
37 const Eigen::MatrixBase<DerivedP> & P,
38 const Eigen::MatrixBase<DerivedN> & N,
39 const int num_samples,
40 Eigen::PlainObjectBase<DerivedS> & S);
62 const Eigen::MatrixBase<DerivedV> & V,
63 const Eigen::MatrixBase<DerivedF> & F,
64 const Eigen::MatrixBase<DerivedP> & P,
65 const Eigen::MatrixBase<DerivedN> & N,
66 const int num_samples,
67 Eigen::PlainObjectBase<DerivedS> & S);
84 const Eigen::MatrixBase<DerivedV> & V,
85 const Eigen::MatrixBase<DerivedF> & F,
86 const Eigen::MatrixBase<DerivedP> & P,
87 const Eigen::MatrixBase<DerivedN> & N,
88 const int num_samples,
89 Eigen::PlainObjectBase<DerivedS> & S);
92#ifndef IGL_STATIC_LIBRARY
93# include "ambient_occlusion.cpp"
Implementation of semi-general purpose axis-aligned bounding box hierarchy.
Definition AABB.h:30
#define IGL_INLINE
Definition igl_inline.h:15
void ambient_occlusion(const std::function< bool(const Eigen::Vector3f &, const Eigen::Vector3f &) > &shoot_ray, const Eigen::MatrixBase< DerivedP > &P, const Eigen::MatrixBase< DerivedN > &N, const int num_samples, Eigen::PlainObjectBase< DerivedS > &S)
Compute ambient occlusion per given point using ray-mesh intersection function handle.