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

猜你喜欢

转载自blog.csdn.net/panda1234lee/article/details/104045591
今日推荐