第 8 课:Dot Product Cosine
别人的解:cos 里面是弧度计算,返回cos值,好和cos做对比
别人的解
uniform float iTime;
uniform vec2 iResolution;
void main() {
vec2 uv = gl_FragCoord.xy / iResolution.xy;
uv *= 2.0;
uv -= 1.0;
uv.x *= iResolution.x / iResolution.y;
vec2 a = vec2(0.0);
vec2 b = a + vec2(cos(iTime), sin(iTime)) * 0.4;
vec2 a2b = normalize(b - a);
vec2 a2p = normalize(uv - a);
float angle = dot(a2b, a2p);
float projectorArea = step(cos(3.14 * 0.25), angle);
vec3 result = mix(vec3(0.12), vec3(1.0, 0.3, 0.3), projectorArea);
gl_FragColor = vec4(result, 1.0);
}
复盘笔记
- cos 里面是弧度计算,返回cos值,好和cos做对比