|
|
@ -203,6 +203,18 @@
|
|
203
|
203
|
return trixl.world.delete(key);
|
|
204
|
204
|
}
|
|
205
|
205
|
|
|
|
206
|
trixl.world.dynamic = [];
|
|
|
207
|
|
|
|
208
|
trixl.dynamic = {};
|
|
|
209
|
trixl.dynamic.orbit = function(pos, radius, color) {
|
|
|
210
|
var color = color || trixl.color;
|
|
|
211
|
return function(t) {
|
|
|
212
|
var x = radius * Math.sin(t * 0.01),
|
|
|
213
|
y = radius * Math.cos(t * 0.01);
|
|
|
214
|
return {x: pos[0] + x, y: pos[1] + y, z: pos[2], color: color};
|
|
|
215
|
}
|
|
|
216
|
}
|
|
|
217
|
|
|
206
|
218
|
trixl.generate = {};
|
|
207
|
219
|
trixl.generate.random = function(lo, hi, color) {
|
|
208
|
220
|
var x = lo + Math.round(Math.random() * (hi - lo)),
|
|
|
@ -248,7 +260,7 @@
|
|
248
|
260
|
var angle = {x: 0, y: 0, z: 0};
|
|
249
|
261
|
var offset = {x: 0, y: 0, z: 0};
|
|
250
|
262
|
program.transform = gl.getUniformLocation(program, 'transform');
|
|
251
|
|
trixl.redraw = function() {
|
|
|
263
|
trixl.redraw = function(t) {
|
|
252
|
264
|
var view = mat4.lookAt([], trixl.camera.pos, trixl.camera.focus, trixl.camera.up);
|
|
253
|
265
|
|
|
254
|
266
|
var aspect = trixl.window.w / trixl.window.h;
|
|
|
@ -274,6 +286,14 @@
|
|
274
|
286
|
gl.drawArrays(gl.TRIANGLES, 0, 6 * 6);
|
|
275
|
287
|
}
|
|
276
|
288
|
|
|
|
289
|
trixl.world.dynamic.forEach(function(tr) {
|
|
|
290
|
var tr = tr(t);
|
|
|
291
|
|
|
|
292
|
gl.uniform4fv(program.color, tr.color);
|
|
|
293
|
gl.uniformMatrix4fv(program.transform, false, transform([tr.x, tr.y, tr.z]));
|
|
|
294
|
gl.drawArrays(gl.TRIANGLES, 0, 6 * 6);
|
|
|
295
|
});
|
|
|
296
|
|
|
277
|
297
|
gl.uniform4f(program.color, -1, -1, -1, 0);
|
|
278
|
298
|
|
|
279
|
299
|
//angle.x += Math.PI / 10;
|
|
|
@ -285,8 +305,8 @@
|
|
285
|
305
|
//offset.z = Math.cos(angle.z * 0.1) * 2;
|
|
286
|
306
|
}
|
|
287
|
307
|
|
|
288
|
|
trixl.step = function() {
|
|
289
|
|
trixl.redraw();
|
|
|
308
|
trixl.step = function(t) {
|
|
|
309
|
trixl.redraw(t);
|
|
290
|
310
|
trixl.step.reqId = requestAnimationFrame(trixl.step);
|
|
291
|
311
|
}
|
|
292
|
312
|
trixl.start = function() {
|