-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhandlers.js
99 lines (80 loc) · 2.09 KB
/
handlers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
function handleMouseDown(event) {
mouseDown = true;
lastMouseX = event.clientX;
lastMouseY = event.clientY;
}
function handleMouseUp(event) {
mouseDown = false;
}
function handleMouseMove(event)
{
if (!mouseDown) {
return;
}
var newX = event.clientX;
var newY = event.clientY;
var newRotationMatrix = mat4.create();
mat4.identity(newRotationMatrix);
var deltaX = newX - lastMouseX;
mat4.rotate(newRotationMatrix, degToRad(deltaX / 7), [0, 1, 0]);
var deltaY = newY - lastMouseY;
mat4.rotate(newRotationMatrix, degToRad(deltaY / 7), [1, 0, 0]);
myCamera.rotate(degToRad(deltaY / 7), [1, 0, 0]);
myCamera.rotate(degToRad(deltaX / 7), [0, 1, 0]);
mat4.multiply(newRotationMatrix, myCamera.rotation, myCamera.rotation);
lastMouseX = newX;
lastMouseY = newY;
}
function handleWheel(event)
{
event.preventDefault();
currentZoom*=1+(event.wheelDelta/Math.abs(event.wheelDelta))/10;
}
function handleKeyDown(event)
{
event.preventDefault();
var transmat = mat4.create();
mat4.identity(transmat);
switch(event.keyCode)
{
case 37: //left
myCamera.translate([0.1,0,0]);
break;
case 39: //right
myCamera.translate([-0.1,0,0]);
break;
case 38: //down
myCamera.translate([0,0,0.1]);
break;
case 40: //forward
myCamera.translate([0,0,-0.1]);
break;
case 33: //pageUp
myCamera.translate([0,-0.1,0]);
break;
case 34: //pageDown
myCamera.translate([0,0.1,0]);
break;
case 116:
window.location.reload();
break;
default:
}
}
function drawCombo(list)
{
drawStyle = list.selectedIndex;
}
function handleSlider1(sliderValue)
{
Kt = sliderValue;
}
function surprise() {
tempSkybox = myCamera.skybox.texture;
myCamera.skybox.texture = videoTexture;
video.play();
}
function setCamera(pos){
var sel = pos.options[pos.selectedIndex].text;
myCamera.setParent(planets[sel]);
}