티스토리 뷰
float3 quadraticBezier(const float3& p0, const float3& p1, const float3& p2, float t)
{
const float q = (1.f - t);
return q * q * p0 + 2 * t * q * p1 + t * t * p2;
}
template <typename Array, std::size_t... I>
auto quad_impl(const Array& a, std::index_sequence<I...>)
{
return quadraticBezier(a[I]..., 0.5f);
}
template <typename T, std::size_t N, typename Indices = std::make_index_sequence<N>>
auto quad(const std::array<T, N>& a)
{
return quad_impl(a, Indices{});
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크