|
void | fssr::evaluate (math::Vec3f const &pos, Sample const &sample, double *value, double *weight, math::Vector< double, 3 > *value_deriv, math::Vector< double, 3 > *weight_deriv) |
| Rotates the given point in the LCS of the sample, evaluates the basis and weight functions and their derivatives, and rotates the derivatives back to the global coordinate system.
|
|
template<typename T > |
T | fssr::fssr_basis (T const &scale, math::Vector< T, 3 > const &pos, math::Vector< T, 3 > *deriv=nullptr) |
| Evaluates the FSSR basis function and directional derivatives (optional).
|
|
template<typename T > |
T | fssr::fssr_weight (T const &scale, math::Vector< T, 3 > const &pos, math::Vector< T, 3 > *deriv=nullptr) |
| Evaluates the FSSR weight function and directional derivatives (optional).
|
|
template<typename T > |
T | fssr::gaussian (T const &sigma, math::Vector< T, 3 > const &x) |
| The Gaussian function in 3D.
|
|
template<typename T > |
T | fssr::gaussian_normalized (T const &sigma, math::Vector< T, 3 > const &x) |
| The normalized Gaussian function in 3D.
|
|
void | fssr::rotation_from_normal (math::Vec2f const &normal, math::Matrix2f *rot) |
| Generates a rotation matrix that transforms in the FSSR LCS.
|
|
void | fssr::rotation_from_normal (math::Vec3f const &normal, math::Matrix3f *rot) |
| Generates a rotation matrix that transforms in the FSSR LCS.
|
|
math::Vec3f | fssr::transform_position (math::Vec3f const &pos, Sample const &sample) |
| Transforms 'pos' according to the samples position and normal.
|
|