@@ -53,35 +53,25 @@ snabbtjs.State.prototype.assign = function(p) {
53
53
this . opacity = p . opacity ;
54
54
} ;
55
55
56
- // Reuse the same three matrices everytime.
57
- var temp_m = snabbtjs . ident ( ) ;
58
- var temp_res1 = snabbtjs . ident ( ) ;
59
- var temp_res2 = snabbtjs . ident ( ) ;
60
-
61
56
snabbtjs . State . prototype . as_matrix = function ( ) {
62
57
// Scale
63
- snabbtjs . assign_scale ( temp_res1 , this . sx , this . sy ) ;
58
+ var m = snabbtjs . scale ( this . sx , this . sy ) ;
64
59
65
60
// Pre-rotation
66
- snabbtjs . assign_rotX ( temp_res2 , this . ax ) ;
67
- snabbtjs . assigned_matrix_multiplication ( temp_res1 , temp_res2 , temp_m ) ;
68
-
69
- snabbtjs . assign_rotY ( temp_res1 , this . ay ) ;
70
- snabbtjs . assigned_matrix_multiplication ( temp_res1 , temp_m , temp_res2 ) ;
71
- snabbtjs . assign_rotZ ( temp_m , this . az ) ;
72
- snabbtjs . assigned_matrix_multiplication ( temp_m , temp_res2 , temp_res1 ) ;
61
+ m = snabbtjs . mult ( m , snabbtjs . rotX ( this . ax ) ) ;
62
+ m = snabbtjs . mult ( m , snabbtjs . rotY ( this . ay ) ) ;
63
+ m = snabbtjs . mult ( m , snabbtjs . rotZ ( this . az ) ) ;
73
64
74
65
// Translation
75
- snabbtjs . assigned_matrix_multiplication ( temp_res1 , snabbtjs . assign_trans ( temp_m , this . x , this . y , this . z ) , temp_res2 ) ;
66
+ m = snabbtjs . mult ( m , snabbtjs . trans ( this . x , this . y , this . z ) ) ;
76
67
77
68
// Post-rotation
78
- snabbtjs . assigned_matrix_multiplication ( temp_res2 , snabbtjs . assign_rotX ( temp_m , this . bx ) , temp_res1 ) ;
79
- snabbtjs . assigned_matrix_multiplication ( temp_res1 , snabbtjs . assign_rotY ( temp_m , this . by ) , temp_res2 ) ;
80
- snabbtjs . assigned_matrix_multiplication ( temp_res2 , snabbtjs . assign_rotZ ( temp_m , this . bz ) , temp_res1 ) ;
69
+ m = snabbtjs . mult ( m , snabbtjs . rotX ( this . bx ) ) ;
70
+ m = snabbtjs . mult ( m , snabbtjs . rotY ( this . by ) ) ;
71
+ m = snabbtjs . mult ( m , snabbtjs . rotZ ( this . bz ) ) ;
81
72
82
73
// Final offset
83
- snabbtjs . assign_trans ( temp_m , this . offset_x , this . offset_y , this . offset_z ) ;
84
- snabbtjs . assigned_matrix_multiplication ( temp_m , temp_res1 , temp_res2 ) ;
85
- return temp_res2 ;
74
+ m = snabbtjs . mult ( m , snabbtjs . trans ( this . offset_x , this . offset_y , this . offset_z ) ) ;
75
+ return m ;
86
76
} ;
87
77
0 commit comments