refacto : updateObj remove double
This commit is contained in:
		
							parent
							
								
									3ab1c7b1ca
								
							
						
					
					
						commit
						a63d807856
					
				|  | @ -65,55 +65,13 @@ async function main() { | ||||||
| 		instanceNumber: parseInt(instanceNumber), | 		instanceNumber: parseInt(instanceNumber), | ||||||
| 		squareRotation: 0, | 		squareRotation: 0, | ||||||
| 	}; | 	}; | ||||||
|  | 	let length: number = 0; | ||||||
|  | 	let buffers: any; | ||||||
|  | 	updateObj(data, true); | ||||||
| 
 | 
 | ||||||
| 	const [ |  | ||||||
| 		positions, |  | ||||||
| 		normals, |  | ||||||
| 		uvs, |  | ||||||
| 		indices, |  | ||||||
| 	] = convert(data); |  | ||||||
| 	let x = 0; |  | ||||||
| 	let y = 0; |  | ||||||
| 	let z = 0; |  | ||||||
| 	let maxx = positions[0]; |  | ||||||
| 	let maxy = positions[1]; |  | ||||||
| 	let maxz = positions[2]; |  | ||||||
| 	let minx = positions[0]; |  | ||||||
| 	let miny = positions[1]; |  | ||||||
| 	let minz = positions[2]; |  | ||||||
| 	for (let i = 0; i < positions.length; i++) { |  | ||||||
| 		if (i % 3 == 0) { |  | ||||||
| 			if (positions[i] > maxx) { |  | ||||||
| 				maxx = positions[i]; |  | ||||||
| 			} else if (positions[i] < minx) { |  | ||||||
| 				minx = positions[i]; |  | ||||||
| 			} |  | ||||||
| 			x += positions[i]; |  | ||||||
| 		} else if (i % 3 == 1) { |  | ||||||
| 			if (positions[i] > maxy) { |  | ||||||
| 				maxy = positions[i]; |  | ||||||
| 			} else if (positions[i] < miny) { |  | ||||||
| 				miny = positions[i]; |  | ||||||
| 			} |  | ||||||
| 			y += positions[i]; |  | ||||||
| 		} else { |  | ||||||
| 			if (positions[i] > maxz) { |  | ||||||
| 				maxz = positions[i]; |  | ||||||
| 			} else if (positions[i] < minz) { |  | ||||||
| 				minz = positions[i]; |  | ||||||
| 			} |  | ||||||
| 			z += positions[i]; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	params.range = Math.max(maxx - minx, maxy - miny, maxz - minz); |  | ||||||
| 	params.avg.x = x / (positions.length / 3); |  | ||||||
| 	params.avg.y = y / (positions.length / 3); |  | ||||||
| 	params.avg.z = z / (positions.length / 3); |  | ||||||
| 	let length = indices.length; |  | ||||||
| 	let [shaderProgram, fragmentShader]: any = initShaderProgram(gl, | 	let [shaderProgram, fragmentShader]: any = initShaderProgram(gl, | ||||||
| 		vsSource, | 		vsSource, | ||||||
| 		fsSource4); | 		fsSource4); | ||||||
| 
 |  | ||||||
| 	let programInfo: any = { | 	let programInfo: any = { | ||||||
| 		program: shaderProgram, | 		program: shaderProgram, | ||||||
| 		attribLocations: { | 		attribLocations: { | ||||||
|  | @ -139,7 +97,6 @@ async function main() { | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	let texture = loadTexture(gl, '/static/textures/racer.png'); | 	let texture = loadTexture(gl, '/static/textures/racer.png'); | ||||||
| 	let buffers = initBuffers(gl, positions, indices, normals, uvs); |  | ||||||
| 	let then = 0; | 	let then = 0; | ||||||
| 	let changed = false; | 	let changed = false; | ||||||
| 
 | 
 | ||||||
|  | @ -167,8 +124,9 @@ async function main() { | ||||||
| 	/** | 	/** | ||||||
| 	 * Pushes a new obj file to the gl buffer | 	 * Pushes a new obj file to the gl buffer | ||||||
| 	 * @param {string} data the obj file to push | 	 * @param {string} data the obj file to push | ||||||
|  | 	 * @param {boolean} firstCall is it first object updated ? | ||||||
| 	 */ | 	 */ | ||||||
| 	function updateObj(data: string) { | 	function updateObj(data: string, firstCall: boolean = false) { | ||||||
| 		const [ | 		const [ | ||||||
| 			positions, | 			positions, | ||||||
| 			normals, | 			normals, | ||||||
|  | @ -213,7 +171,9 @@ async function main() { | ||||||
| 		params.avg.x = x / (positions.length / 3); | 		params.avg.x = x / (positions.length / 3); | ||||||
| 		params.avg.y = y / (positions.length / 3); | 		params.avg.y = y / (positions.length / 3); | ||||||
| 		params.avg.z = z / (positions.length / 3); | 		params.avg.z = z / (positions.length / 3); | ||||||
| 		deleteBuffers(gl, buffers); | 		if (!firstCall) { | ||||||
|  | 			deleteBuffers(gl, buffers); | ||||||
|  | 		} | ||||||
| 		buffers = initBuffers(gl, positions, indices, normals, uvs); | 		buffers = initBuffers(gl, positions, indices, normals, uvs); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue