62 lines
1.6 KiB
TypeScript
62 lines
1.6 KiB
TypeScript
import $ from 'jquery';
|
|
|
|
/**
|
|
* Initialize the parameters
|
|
* @param {any} context the program context
|
|
*/
|
|
export function initParams(context: any) {
|
|
const distance: any = $('#distance').val();
|
|
const distanceFine: any = $('#distancefine').val();
|
|
|
|
context.params = {
|
|
distance: parseFloat(distance) + parseFloat(distanceFine),
|
|
circleSize: $('#circlesize').val(),
|
|
fov: $('#fov').val(),
|
|
length: 0,
|
|
avg: {
|
|
x: 0,
|
|
y: 0,
|
|
z: 0,
|
|
},
|
|
range: 0,
|
|
rot: {
|
|
x: $('#rotx').val(),
|
|
y: $('#roty').val(),
|
|
z: $('#rotz').val(),
|
|
},
|
|
rotSpeed: $('#rotspeed').val(),
|
|
instanceNumber: $('#instance').val(),
|
|
squareRotation: 0,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* 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'),
|
|
},
|
|
};
|
|
}
|