Shader特效——“变换的五角星” 的实现 【GLSL】

 

效果图

 

静态图

 

动态图

 图解分析

 为啥需要旋转 18 °

vec2 circlePoint(float ang)
{
    // 调整五个点所构成的边的角度
    ang -= PIx2 * 0.05;     // 18° 正五角星
    return vec2(cos(ang), sin(ang));
}

// 单位圆上用 5 个点平分 5 个角度,各角度为 360/5=72°
vec2 p0 = circlePoint(0.0);
vec2 p1 = circlePoint(PIx2 * 1.0 / 5.0); // 72°
vec2 p2 = circlePoint(PIx2 * 2.0 / 5.0);
vec2 p3 = circlePoint(PIx2 * 3.0 / 5.0);
vec2 p4 = c

你可能感兴趣的:(ShaderJoy,——,Shader,实例详解,glsl,特效,动画,专场,shader)