0
点赞
收藏
分享

微信扫一扫

基于three.js的shader入门教程十一


利用smoothstep画出抗锯齿圈圈

  • ​​背景​​
  • ​​函数解释​​
  • ​​分析​​

背景

基于three.js的shader入门教程十一_html


这是源自JC大佬的shader

这里主要用来做啥,2D这种绘制利用smoothstep可以绘制一个纯色抗锯齿的图形

函数解释

smoothstep函数原型
​​ https://thebookofshaders.com/glossary/?search=smoothstep​​ fwitdh函数
​​https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/fwidth.xhtml​​

分析

abs(l-0.45)这个计算的是到distance=0.45圆线为中心线往两边扩散 范围左边0.05中心0右边0.05
-0.05 值就反转 两头是0 中心是-0.05 这里负数 所以edge1变为负数
那么smoothstep(delta,-delta, value); 超过边缘的地方会突变到0 但不截断 所以可以无锯齿
delta虽然可以写个啥0.01,这里屏幕缩放的话影响会比较明显0.01可能从1个像素跨度到10个像素啥的
但w的值直接代表一个像素间L的变化,更好一些,于是就用w作为Edge0 Edge1 delta=w;
你学废了吗?
threejs交流群511163089


举报

相关推荐

0 条评论