21 return { .
fn = [anchor, strength](
const glm::vec3& p) -> glm::vec3 {
22 glm::vec3 delta = anchor - p;
23 float d = glm::length(delta);
25 return glm::vec3(0.0F);
26 return (delta / d) * (strength / std::max(d * d, 0.1F));
42 return { .
fn = [strength, rng](
const glm::vec3&)
mutable -> glm::vec3 {
Unified generative infrastructure for stochastic and procedural algorithms.
VectorField turbulence(float strength, Stochastic::Stochastic rng=Stochastic::Stochastic())
Uniform random force field using Stochastic infrastructure.
VectorField point_attractor(const glm::vec3 &anchor, float strength)
Radial attraction/repulsion toward an anchor point.
std::function< R(const D &)> fn
Typed, composable, stateless callable from domain D to range R.