首先画圆需要中心点,半径,我们要做的就是判断像素点和中心点距离是否等于半径 直接上代码
frag函数的核心代码
if (length(i
.vertex
.xy
- _MousePos
.xy
) < _MousePos
.z
) {
return col
* _PointColor
;
}
else {
return col
;
}
但是这样画出的圆锯齿感很强 所以我们做一个边缘检测 利用透明度让边缘模糊起来 用smoothstep
float temp
= length(i
.vertex
.xy
- _MousePos
.xy
) - _MousePos
.z
;
float a
= smoothstep(0, _MousePos
.w
,temp
);
_PointColor
= (_PointColor
.rgb
, 1.0 - a
);
return _PointColor
;
转载请注明原文地址:https://ipadbbs.8miu.com/read-46634.html