Celeritas 0.7.0-dev.79+develop.b3dc2e108
|
Sample a facet normal from a smear roughness model. More...
#include <SmearRoughnessSampler.hh>
Public Member Functions | |
CELER_FUNCTION | SmearRoughnessSampler (Real3 const &normal, real_type roughness) |
Construct from roughness and global normal. | |
template<class Engine > | |
CELER_FUNCTION Real3 | operator() (Engine &rng) const |
Sample a facet normal via the smear roughness model. | |
Sample a facet normal from a smear roughness model.
The smear roughness model is parameterized by a single roughness value in [0,1] where:
A smear direction is uniformly sampled within a sphere of radius 1, which is then scaled by the roughness parameter and added to the global normal.