Colored square rotating
This commit is contained in:
		
							parent
							
								
									9703298f40
								
							
						
					
					
						commit
						2e90822b5b
					
				|  | @ -1,6 +1,8 @@ | |||
| // @ts-ignore
 | ||||
| import mat4 from 'gl-mat4'; | ||||
| 
 | ||||
| let squareRotation = 0.0; | ||||
| 
 | ||||
| main(); | ||||
| 
 | ||||
| /** | ||||
|  | @ -60,7 +62,20 @@ function main() { | |||
| 	}; | ||||
| 
 | ||||
| 	const buffers = initBuffers(gl); | ||||
| 	drawScene(gl, programInfo, buffers); | ||||
| 	let then = 0; | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Draws the scene repeatedly | ||||
| 	 * @param {number} now the current time | ||||
| 	 */ | ||||
| 	function render(now: any) { | ||||
| 		now *= 0.001; | ||||
| 		const deltaTime = now - then; | ||||
| 		then = now; | ||||
| 		drawScene(gl, programInfo, buffers, deltaTime); | ||||
| 		requestAnimationFrame(render); | ||||
| 	} | ||||
| 	requestAnimationFrame(render); | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  | @ -160,8 +175,9 @@ function initBuffers(gl: any) { | |||
|  * @param {any} gl the WebGL context | ||||
|  * @param {any} programInfo WebGL program information | ||||
|  * @param {any} buffers the buffers to draw | ||||
|  * @param {number} deltaTime the difference in time since last call | ||||
|  */ | ||||
| function drawScene(gl: any, programInfo: any, buffers: any) { | ||||
| function drawScene(gl: any, programInfo: any, buffers: any, deltaTime: number) { | ||||
| 	gl.clearColor(0.0, 0.0, 0.0, 1.0); | ||||
| 	gl.clearDepth(1.0); | ||||
| 	gl.enable(gl.DEPTH_TEST); | ||||
|  | @ -201,6 +217,11 @@ function drawScene(gl: any, programInfo: any, buffers: any) { | |||
| 		modelViewMatrix, | ||||
| 		[-0.0, 0.0, -6.0]); | ||||
| 
 | ||||
| 	mat4.rotate(modelViewMatrix, | ||||
| 		modelViewMatrix, | ||||
| 		squareRotation, | ||||
| 		[Math.abs(squareRotation % 1.0 - 0.5), 1, 1]); | ||||
| 
 | ||||
| 	// Tell WebGL how to pull out the positions from the position
 | ||||
| 	// buffer into the vertexPosition attribute.
 | ||||
| 	{ | ||||
|  | @ -258,4 +279,6 @@ function drawScene(gl: any, programInfo: any, buffers: any) { | |||
| 		const vertexCount = 4; | ||||
| 		gl.drawArrays(gl.TRIANGLE_STRIP, offset, vertexCount); | ||||
| 	} | ||||
| 
 | ||||
| 	squareRotation += deltaTime; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue