Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / base / gl_matrix.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2014 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7 <link rel="import" href="/base.html">
8 <script src="/gl-matrix/common.js"></script>
9 <script src="/gl-matrix/mat2d.js"></script>
10 <script src="/gl-matrix/mat4.js"></script>
11 <script src="/gl-matrix/vec2.js"></script>
12 <script src="/gl-matrix/vec3.js"></script>
13 <script src="/gl-matrix/vec4.js"></script>
14 <script>
15 'use strict';
16
17 tv.exportTo('tv', function() {
18   var tmp_vec2 = vec2.create();
19   var tmp_vec2b = vec2.create();
20   var tmp_vec4 = vec4.create();
21   var tmp_mat2d = mat2d.create();
22
23   vec2.createFromArray = function(arr) {
24     if (arr.length != 2)
25       throw new Error('Should be length 2');
26     var v = vec2.create();
27     vec2.set(v, arr[0], arr[1]);
28     return v;
29   };
30
31   vec2.createXY = function(x, y) {
32     var v = vec2.create();
33     vec2.set(v, x, y);
34     return v;
35   };
36
37   vec2.toString = function(a) {
38     return '[' + a[0] + ', ' + a[1] + ']';
39   };
40
41   vec2.addTwoScaledUnitVectors = function(out, u1, scale1, u2, scale2) {
42     // out = u1 * scale1 + u2 * scale2
43     vec2.scale(tmp_vec2, u1, scale1);
44     vec2.scale(tmp_vec2b, u2, scale2);
45     vec2.add(out, tmp_vec2, tmp_vec2b);
46   }
47
48   vec3.createXYZ = function(x, y, z) {
49     var v = vec3.create();
50     vec3.set(v, x, y, z);
51     return v;
52   };
53
54   vec3.toString = function(a) {
55     return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')';
56   }
57
58   mat2d.translateXY = function(out, x, y) {
59     vec2.set(tmp_vec2, x, y);
60     mat2d.translate(out, out, tmp_vec2);
61   }
62
63   mat2d.scaleXY = function(out, x, y) {
64     vec2.set(tmp_vec2, x, y);
65     mat2d.scale(out, out, tmp_vec2);
66   }
67
68   vec4.unitize = function(out, a) {
69     out[0] = a[0] / a[3];
70     out[1] = a[1] / a[3];
71     out[2] = a[2] / a[3];
72     out[3] = 1;
73     return out;
74   }
75
76   vec2.copyFromVec4 = function(out, a) {
77     vec4.unitize(tmp_vec4, a);
78     vec2.copy(out, tmp_vec4);
79   }
80
81   return {};
82 });
83 </script>