'use strict' var now = require('right-now') var bunny = require('bunny') var perspective = require('gl-mat4/perspective') var fit = require('canvas-fit') var createContext = require('gl-context') var createAxes = require('gl-axes') var createMesh = require('gl-simplicial-complex') var createCamera = require('../view') //Set up WebGL var canvas = document.createElement('canvas') document.body.appendChild(canvas) window.addEventListener('resize', fit(canvas), false) var gl = createContext(canvas, {}, render) var controlDiv = document.createElement('div') controlDiv.style.position = 'absolute' controlDiv.style['z-index'] = 10 controlDiv.style.left = '10px' controlDiv.style.top = '10px' document.body.appendChild(controlDiv) var commandList = [ 'Rotate - Hold left mouse', 'Roll - Hold shift + left mouse', 'Pan - Hold right mouse', 'Zoom - Mouse wheel', 'Translate - Hold control + left mouse' ] var commandContainer = document.createElement('div') commandContainer.style['font-size'] = '75%' controlDiv.appendChild(commandContainer) commandList.forEach(function(str) { var container = document.createElement('p') container.appendChild(document.createTextNode(str)) commandContainer.appendChild(container) }) function appendItem(label, item) { var container = document.createElement('p') container.appendChild(document.createTextNode(label)) container.appendChild(item) controlDiv.appendChild(container) } var delayControl = document.createElement('input') delayControl.type = 'range' delayControl.min = 0 delayControl.max = 200 delayControl.value = 30 appendItem('Delay:', delayControl) var zoomControl = document.createElement('input') zoomControl.type = 'range' zoomControl.min = 1 zoomControl.max = 1000 zoomControl.value = 50 appendItem('Distance:', zoomControl) var rotateSensitivity = document.createElement('input') rotateSensitivity.type = 'range' rotateSensitivity.min = -10 rotateSensitivity.max = 10 rotateSensitivity.value = 0 appendItem('Rotation Sensitivity:', rotateSensitivity) var zoomSensitivity = document.createElement('input') zoomSensitivity.type = 'range' zoomSensitivity.min = -10 zoomSensitivity.max = 10 zoomSensitivity.value = 0 appendItem('Zoom Sensitivity:', zoomSensitivity) var flipXControl = document.createElement('input') flipXControl.type = 'checkbox' appendItem('Flip X:', flipXControl) var flipYControl = document.createElement('input') flipYControl.type = 'checkbox' appendItem('Flip Y:', flipYControl) var modes = ['turntable', 'orbit', 'matrix'] var modeSelect = document.createElement('select') for(var i=0; i

Up=[' + camera.getUp(t-2*delay).join() + ']

Eye=[' + camera.getEye(t-2*delay).join() + ']

Matrix=

' + cameraParams.view.slice(0,4).join('') + '
' + cameraParams.view.slice(4,8).join('') + '
' + cameraParams.view.slice(8,12).join('') + '
' + cameraParams.view.slice(12,16).join('') + '

Rotate sensitivity:' + Math.exp(rotateSensitivity.value) + '

Zoom sensitivity:' + Math.exp(zoomSensitivity.value) + '

' }