티스토리 뷰

카테고리 없음

misc

newpolaris 2021. 3. 30. 15:43
    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
링크