跳至主要內容

SDF实战~利用SDF纹理实现多边形描边,外发光,阴影

muzzik小于 1 分钟文章Cocos图形学SDFCocosCreator

# 效果

# 简介

之前我们将的 SDF 图形都是动态传递的坐标计算距离场对于复杂多边形来说,实时计算量更是负担巨大,那么有没有什么好的方案呢?其实如果大家了解深度图就知道,其实SDF 距离场也可以通过像素的方式存在图片里

# 实现

为了大家更方式的使用,这里我写了一个插件,用于生成 SDF 纹理,商店 9.9 包邮open in new window

# 使用

  • CCSampleWithAlphaSeparated:采样函数,获得图片指定 uv 坐标的 color,值范围: 0 - 1
  • sdf_radius_f:SDF 纹理范围(插件配置)
// 获取距离场
float dist_f = (1.0 - CCSampleWithAlphaSeparated(sdf_texture, uv0).r) * sdf_radius_f;

Demo 开源

# 拓展

📣 觉得很赞?分享给你的朋友吧!