效果視頻
Shader特效——“愛心❤的變換” 的實現 【GLSL】
靜態效果圖
設計思路與核心代碼
首先我們將紋理座標 p 換算爲以 center 爲中心的座標系,如下所示
float inHeart (vec2 p, vec2 center, float size)
{
// 奇異值的處理
if (size == 0.0)
return 0.0;
vec2 o = (p - center) / (1.6 * size); ///< 以 center 爲中心的座標變換,隨着 size 的變大,心形變大