Skip to content

Commit ff18a62

Browse files
author
daniel-lundin
committed
Remove some silly micro-optimization
1 parent ff5b9f4 commit ff18a62

File tree

1 file changed

+10
-20
lines changed

1 file changed

+10
-20
lines changed

src/state.js

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -53,35 +53,25 @@ snabbtjs.State.prototype.assign = function(p) {
5353
this.opacity = p.opacity;
5454
};
5555

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-
6156
snabbtjs.State.prototype.as_matrix = function() {
6257
// Scale
63-
snabbtjs.assign_scale(temp_res1, this.sx, this.sy);
58+
var m = snabbtjs.scale(this.sx, this.sy);
6459

6560
// 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));
7364

7465
// 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));
7667

7768
// 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));
8172

8273
// 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;
8676
};
8777

0 commit comments

Comments
 (0)