Add vecr::blur

This commit is contained in:
Nikita Lisitsa 2023-07-22 20:03:53 +03:00
parent 4ce09fc6b0
commit 02ecca5ebc

View file

@ -0,0 +1,31 @@
#pragma once
#include <psemek/vecr/sdf.hpp>
#include <psemek/geom/point.hpp>
#include <psemek/geom/box.hpp>
namespace psemek::vecr
{
template <typename Shape>
struct blur
{
Shape shape;
float factor;
};
template <typename Shape>
sdf_sample sdf(blur<Shape> const & s, geom::point<float, 2> const & p)
{
auto result = sdf(s.shape, p);
result.value /= s.factor;
return result;
}
template <typename Shape>
geom::box<float, 2> bbox(blur<Shape> const & s)
{
return bbox(s.shape);
}
}