import $ from 'jquery'; /** * Initialize the parameters * @param {any} context the program context */ export function initParams(context: any) { context.params = { distance: parseFloat($('#distance').val()) + parseFloat($('#distancefine').val()), circleSize: parseFloat($('#circlesize').val()), fov: parseFloat($('#fov').val()), length: 0, avg: { x: 0, y: 0, z: 0, }, range: 0, rot: { x: parseFloat($('#rotx').val()), y: parseFloat($('#roty').val()), z: parseFloat($('#rotz').val()), }, rotSpeed: parseFloat($('#rotspeed').val()), instanceNumber: parseFloat($('#instance').val()), squareRotation: 0, camRot: { x: 0, y: 0, }, camPos: { x: 0, y: 0, z: 0, }, mousePrev: { x: null, y: null, }, keyboard: { w: false, a: false, s: false, d: false, shift: false, }, }; } /** * Set the program info * @param {any} context the program context */ export function setProgramInfo(context: any) { context.programInfo = { program: context.shaderProgram, attribLocations: { vertexPosition: context.gl.getAttribLocation(context.shaderProgram, 'aVertexPosition'), vertexNormal: context.gl.getAttribLocation(context.shaderProgram, 'aVertexNormal'), textureCoord: context.gl.getAttribLocation(context.shaderProgram, 'aTextureCoord'), }, uniformLocations: { projectionMatrix: context.gl.getUniformLocation( context.shaderProgram, 'uProjectionMatrix'), viewMatrix: context.gl.getUniformLocation( context.shaderProgram, 'uviewMatrix'), modelMatrix: context.gl.getUniformLocation( context.shaderProgram, 'umodelMatrix'), normalModelMatrix: context.gl.getUniformLocation( context.shaderProgram, 'unormalModelMatrix'), uSampler: context.gl.getUniformLocation( context.shaderProgram, 'uSampler'), }, }; }