跳到主要内容
← Math

Math

Dot Product Cosine

cos 里面是弧度计算,返回cos值,好和cos做对比

实时渲染 · 2D 片段 GLSL

第 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做对比