Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. ((function outerProduct
  2.    (signature mat2
  3.      (parameters
  4.        (declare (in) vec2 u)
  5.        (declare (in) vec2 v))
  6.      ((declare () mat2 m)
  7.       (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
  8.       (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
  9.       (return (var_ref m))))
  10.  
  11.    (signature mat2x3
  12.      (parameters
  13.        (declare (in) vec3 u)
  14.        (declare (in) vec2 v))
  15.      ((declare () mat2x3 m)
  16.       (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
  17.       (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
  18.       (return (var_ref m))))
  19.  
  20.    (signature mat2x4
  21.      (parameters
  22.        (declare (in) vec4 u)
  23.        (declare (in) vec2 v))
  24.      ((declare () mat2x4 m)
  25.       (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
  26.       (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
  27.       (return (var_ref m))))
  28.  
  29.    (signature mat3x2
  30.      (parameters
  31.        (declare (in) vec2 u)
  32.        (declare (in) vec3 v))
  33.      ((declare () mat3x2 m)
  34.       (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
  35.       (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
  36.       (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
  37.       (return (var_ref m))
  38.  ))
  39.  
  40.    (signature mat3
  41.      (parameters
  42.        (declare (in) vec3 u)
  43.        (declare (in) vec3 v))
  44.      ((declare () mat3 m)
  45.       (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
  46.       (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
  47.       (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
  48.       (return (var_ref m))))
  49.  
  50.    (signature mat3x4
  51.      (parameters
  52.        (declare (in) vec4 u)
  53.        (declare (in) vec3 v))
  54.      ((declare () mat3x4 m)
  55.       (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
  56.       (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
  57.       (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
  58.       (return (var_ref m))))
  59.  
  60.    (signature mat4x2
  61.      (parameters
  62.        (declare (in) vec2 u)
  63.        (declare (in) vec4 v))
  64.      ((declare () mat4x2 m)
  65.       (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
  66.       (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
  67.       (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
  68.       (assign (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))
  69.       (return (var_ref m))))
  70.  
  71.    (signature mat4x3
  72.      (parameters
  73.        (declare (in) vec3 u)
  74.        (declare (in) vec4 v))
  75.      ((declare () mat4x3 m)
  76.       (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
  77.       (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
  78.       (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
  79.       (assign (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))
  80.       (return (var_ref m))))
  81.  
  82.    (signature mat4
  83.      (parameters
  84.        (declare (in) vec4 u)
  85.        (declare (in) vec4 v))
  86.      ((declare () mat4 m)
  87.       (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
  88.       (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
  89.       (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
  90.       (assign (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))
  91.       (return (var_ref m))))
  92. ))
  93.