ShaderLab实现自由方向切割物体的方法

因为是自由切割,所以很自然的就能想到,要确定切割平面,而我们是通过画线来切割的,很明显,切割平面就是切线向量与摄像机视角向量组成的平面,而我们有了切割平面,怎么判断那些点应该被切去哪些点不能呢,我是通过顶点着色器中的点与物体原点组成的向量点乘切割平面的法向量来判断的,因为点乘相当于投影的长度,所以只要点乘的结果大于物体原点到切割平面的距离就能确定点的位置。然后是切割面的法向量,由于划线的时候正负方向不能确定,法向量的方向也就不能确定,所以这里我进行了一个判断,调整法向量的方向。
摘要由CSDN通过智能技术生成

先上图

在学shade 的时候看到一篇案例,是xyz方向切割物体,看完之后我就想能不能实现全方向自由切割物体,就有了这篇文章,由于是在顶点着色器中进行计算的,所以可以看到边缘会有锯齿,这是模型的顶点。可以放到片元着色器中机型计算来消除,方法差不多。

数学计算

因为是自由切割,所以很自然的就能想到,要确定切割平面,而我们是通过画线来切割的,很明显,切割平面就是切线向量与摄像机视角向量组成的平面,而我们有了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值