Просмотр исходного кода

use glmatrix library for multiplication.

it also provides .inverse and .lookAt which are needed for camera
support.
Lucas Stadler лет назад: 12
Родитель
Сommit
251e2f7f87
3 измененных файлов с 16 добавлено и 1 удалено
  1. 2 0
      js/pixl/.gitignore
  2. 3 0
      js/pixl/Makefile
  3. 11 1
      js/pixl/public/trixl.html

+ 2 - 0
js/pixl/.gitignore

@ -1 +1,3 @@
1 1
/node_modules
2
3
public/glmatrix.js

+ 3 - 0
js/pixl/Makefile

@ -1,2 +1,5 @@
1 1
fetch_live:
2 2
	curl pixl.papill0n.org:8001/world > data/live.json
3
4
fetch_glmatrix:
5
	curl -o public/glmatrix.js https://raw.github.com/toji/gl-matrix/master/dist/gl-matrix.js

+ 11 - 1
js/pixl/public/trixl.html

@ -52,6 +52,16 @@
52 52
	<script src="gl.js"></script>
53 53
	<script src="geometry.js"></script>
54 54
	<script src="matrix.js"></script>
55
	<script src="glmatrix.js"></script>
56
	<script>
57
		mat4.multiplyMany = function() {
58
			var m = arguments[0];
59
			for(var i = 1; i < arguments.length; i++) {
60
				m = mat4.multiply([], arguments[i], m);
61
			}
62
			return m;
63
		}
64
	</script>
55 65
	<script>
56 66
		window.trixl = {};
57 67
		trixl.stage = document.querySelector("#stage");
@ -98,7 +108,7 @@
98 108
		trixl.redraw = function() {
99 109
			var aspect = trixl.window.w / trixl.window.h;
100 110
			var transform = function(pos) {
101
				return matrix.multiplyMany4x4(
111
				return mat4.multiplyMany(
102 112
					//matrix.scale(0.6, 0.6, 0.6),
103 113
					matrix.translate(-0.5, -0.5, -0.5),
104 114
					matrix.rotateZ(angle.z / 10),