Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5563 serge 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
))