SDF实战~利用SDF纹理实现多边形描边,外发光,阴影
小于 1 分钟
# 效果
# 简介
之前我们将的 SDF 图形都是动态传递的坐标计算距离场,对于复杂多边形来说,实时计算量更是负担巨大,那么有没有什么好的方案呢?其实如果大家了解深度图就知道,其实SDF 距离场也可以通过像素的方式存在图片里
# 实现
为了大家更方式的使用,这里我写了一个插件,用于生成 SDF 纹理,商店 9.9 包邮
# 使用
- CCSampleWithAlphaSeparated:采样函数,获得图片指定 uv 坐标的 color,值范围: 0 - 1
- sdf_radius_f:SDF 纹理范围(插件配置)
// 获取距离场
float dist_f = (1.0 - CCSampleWithAlphaSeparated(sdf_texture, uv0).r) * sdf_radius_f;
Demo 开源
# 拓展
SDF 讲解:https://shaderfun.com/
在线 SDF 字体生成:Font Texture Generator Online