// http://en.wikipedia.org/wiki/Bernstein_polynomial Vec3Packedf Bernstein3D(const Vec3Packedf p0, const Vec3Packedf p1, const Vec3Packedf p2, const Vec3Packedf p3, float x) { return p0 * bern0(x) + p1 * bern1(x) + p2 * bern2(x) + p3 * bern3(x); }
// http://en.wikipedia.org/wiki/Bernstein_polynomial static Vec3Packedf Bernstein3D(const Vec3Packedf& p0, const Vec3Packedf& p1, const Vec3Packedf& p2, const Vec3Packedf& p3, float x) { if (x == 0) return p0; else if (x == 1) return p3; return p0 * bern0(x) + p1 * bern1(x) + p2 * bern2(x) + p3 * bern3(x); }
// http://en.wikipedia.org/wiki/Bernstein_polynomial static Math3D::Vec2f Bernstein3D(const Math3D::Vec2f& p0, const Math3D::Vec2f& p1, const Math3D::Vec2f& p2, const Math3D::Vec2f& p3, float x) { if (x == 0) return p0; else if (x == 1) return p3; return p0 * bern0(x) + p1 * bern1(x) + p2 * bern2(x) + p3 * bern3(x); }