|
|
@ -102,10 +102,21 @@
|
|
102
|
102
|
program.color = gl.getUniformLocation(program, 'color');
|
|
103
|
103
|
gl.uniform4f(program.color, -1, -1, -1, -1);
|
|
104
|
104
|
|
|
|
105
|
trixl.pos = {x: 0, y: 0, z: 0, a: 0};
|
|
|
106
|
|
|
105
|
107
|
var angle = {x: 0, y: 0, z: 0};
|
|
106
|
108
|
var offset = {x: 0, y: 0, z: 0};
|
|
107
|
109
|
program.transform = gl.getUniformLocation(program, 'transform');
|
|
108
|
110
|
trixl.redraw = function() {
|
|
|
111
|
var camera = mat4.multiplyMany(
|
|
|
112
|
matrix.translate(trixl.pos.x, trixl.pos.y, trixl.pos.z),
|
|
|
113
|
matrix.rotateY(trixl.pos.a)
|
|
|
114
|
);
|
|
|
115
|
var camera_pos = [camera[12], camera[13], camera[14]];
|
|
|
116
|
var up = [0, 1, 0];
|
|
|
117
|
camera = mat4.lookAt([], camera_pos, [0, 0, 0], up);
|
|
|
118
|
var view = mat4.invert([], camera);
|
|
|
119
|
|
|
109
|
120
|
var aspect = trixl.window.w / trixl.window.h;
|
|
110
|
121
|
var transform = function(pos) {
|
|
111
|
122
|
return mat4.multiplyMany(
|
|
|
@ -115,6 +126,7 @@
|
|
115
|
126
|
//matrix.rotateY(angle.y / 10),
|
|
116
|
127
|
matrix.rotateX(angle.x / 10),
|
|
117
|
128
|
matrix.translate(pos[0] + offset.x, pos[1] + offset.y, pos[2] + offset.z),
|
|
|
129
|
view,
|
|
118
|
130
|
matrix.persective(Math.PI / 3, aspect)
|
|
119
|
131
|
);
|
|
120
|
132
|
}
|