loader[segments[0]].load(todo, (result) => {
if(segments[0] == 'textures') {
result.colorSpace = THREE.SRGBColorSpace;
+ result.minFilter = THREE.NearestFilter;
result.magFilter = THREE.NearestFilter;
if(segments[1].split('.')[0].startsWith('feather-')) {
result.repeat = new THREE.Vector2(1, -1);
game.view.directionalLight2 = new THREE.DirectionalLight(0xffffff, 1);
game.view.directionalLight2.position.set(-1, -1, 1);
scene.add(game.view.directionalLight2);
- const renderer = new THREE.WebGLRenderer({ canvas: canvas });
- renderer.setSize(canvas.width, canvas.height);
- renderer.setClearColor(0x808080, 1);
+ game.view.renderer = new THREE.WebGLRenderer({ canvas: canvas, antialias: false });
+ game.view.renderer.setSize(canvas.width, canvas.height);
+ game.view.renderer.setClearColor(0x808080, 1);
+ let resolution = Math.round(3200 / Math.pow(2, game.settings['graphics']));
+ game.view.canvas.width = resolution;
+ game.view.canvas.height = resolution;
+ game.view.camera.updateProjectionMatrix();
+ game.view.renderer.setSize(game.view.canvas.width, game.view.canvas.height);
game.view.clock = new THREE.Clock();
game.view.clock.previousTime = 0;
game.view.clock.getDeltaTime = () => {
game.var.endingExitTrajectory = new THREE.Vector3();
game.var.endingEntryRotation = new THREE.Vector3();
game.var.endingExitRotation = new THREE.Vector3();
- renderer.setAnimationLoop(() => { animate(game, renderer, scene); });
+ game.view.renderer.setAnimationLoop(() => { animate(game, scene); });
}
function prepareWordMesh(game, word) {
}
}
-function animate(game, renderer, scene) {
+function animate(game, scene) {
if(!('startTime' in game)) {
game.startTime = game.view.clock.getElapsedTime();
}
}
game.view.camera.position.setY(cameraY - game.courseRadius + 0.07 * cameraSwayFactor * Math.sin(game.view.clock.getElapsedTime() * 0.5));
game.view.camera.position.setX(cameraX + 0.05 * cameraSwayFactor * Math.sin(game.view.clock.getElapsedTime() * 0.7));
- renderer.render(scene, game.view.camera);
+ game.view.renderer.render(scene, game.view.camera);
return;
}
if(game.ui.root.querySelector('.ui-page.gameplay p')) {
}
}
- renderer.render(scene, game.view.camera);
+ game.view.renderer.render(scene, game.view.camera);
}
function loadSettings(game) {
setTimeout(() => { game.ui.root.style.fontSize = (game.ui.root.clientWidth / 50) + 'px'; }, timeout);
}
game.settings['graphics'] = parseInt(ui.querySelector('input[name="upInTheAirGame-graphics"]:checked').value, 10);
+ if(game.view) {
+ let resolution = Math.round(3200 / Math.pow(2, game.settings['graphics']));
+ game.view.canvas.width = resolution;
+ game.view.canvas.height = resolution;
+ game.view.camera.updateProjectionMatrix();
+ game.view.renderer.setSize(game.view.canvas.width, game.view.canvas.height);
+ }
for(let audioCategory of ['music', 'sounds']) {
game.settings['audio'][audioCategory] = parseInt(ui.querySelector('.audio input[type=range].' + audioCategory).value, 10) / 100;
}