mfc绘制bezier b样条三种曲线_基于Unity的Compute Shader实现样条曲线

本文介绍了在MFC中使用Compute Shader实现样条曲线的绘制,包括Catmull-Rom、Bezier、Quadratic和Cubic B-Spline四种方法。Catmull-Rom是一种厄尔密样条插值,Bezier为分段二阶样条逼近,而B-Spline则分为二阶和三阶。文章提供了代码链接和相关参考资料。
摘要由CSDN通过智能技术生成

e2e07727b932eb3f2ec68ea03a9fc716.png

之前做的基于笔触的渲染只能渲染方形的笔触,所以准备基于向量场,使用线积分卷积的思路去检测出一堆控制点,然后用样条曲线生成平滑的笔触,于是尝试了一些样条插值的方法。具体有以下几种,节点的计算都在Compute Shader里进行。样条曲线分为样条插值和样条逼近,样条插值经过控制点,而样条逼近则不一定经过。

Catmull-Rom

样条插值方法,厄尔密样条(Hermite spline)的一种,因为在论文[1]中使用了这种方法生成笔触,所以实现了一下,效果如下,方块为控制点。

8eada420f03855fe8b057dbccd045645.png

Bezier

样条逼近方法。常用的贝塞尔曲线,实现的是分段二阶的版本。

fa5e5a2ec3d43807ee9f8162ce1aebc4.png <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值