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.
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>
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();
23 vec2.createFromArray = function(arr) {
25 throw new Error('Should be length 2');
26 var v = vec2.create();
27 vec2.set(v, arr[0], arr[1]);
31 vec2.createXY = function(x, y) {
32 var v = vec2.create();
37 vec2.toString = function(a) {
38 return '[' + a[0] + ', ' + a[1] + ']';
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);
48 vec3.createXYZ = function(x, y, z) {
49 var v = vec3.create();
54 vec3.toString = function(a) {
55 return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')';
58 mat2d.translateXY = function(out, x, y) {
59 vec2.set(tmp_vec2, x, y);
60 mat2d.translate(out, out, tmp_vec2);
63 mat2d.scaleXY = function(out, x, y) {
64 vec2.set(tmp_vec2, x, y);
65 mat2d.scale(out, out, tmp_vec2);
68 vec4.unitize = function(out, a) {
76 vec2.copyFromVec4 = function(out, a) {
77 vec4.unitize(tmp_vec4, a);
78 vec2.copy(out, tmp_vec4);