complex_functions.glsl 376 B

123456789101112131415
  1. vec2 complex_mult(vec2 z, vec2 w){
  2. return vec2(z.x * w.x - z.y * w.y, z.x * w.y + z.y * w.x);
  3. }
  4. vec2 complex_div(vec2 z, vec2 w){
  5. return complex_mult(z, vec2(w.x, -w.y)) / (w.x * w.x + w.y * w.y);
  6. }
  7. vec2 complex_pow(vec2 z, int n){
  8. vec2 result = vec2(1.0, 0.0);
  9. for(int i = 0; i < n; i++){
  10. result = complex_mult(result, z);
  11. }
  12. return result;
  13. }