Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function drawScene() {
- gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- mat4.perspective(45, aRatio, 0.1, 100, pMatrix);
- setupLight();
- mat4.identity(mvMatrix);
- //////////////////////////// RYSUJ MAPE ///////////////////////////////////////
- mat4.translate(mvMatrix, [0, -4,-20]);
- mat4.scale(mvMatrix,[11,4,1]);
- mvPushMatrix();
- gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexPositionBuffer);
- gl.vertexAttribPointer(shaderProgram.vertexPositionAttribute, cubeVertexPositionBuffer.itemSize, gl.FLOAT, false, 0, 0);
- gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexNormalBuffer);
- gl.vertexAttribPointer(shaderProgram.vertexNormalAttribute, cubeVertexNormalBuffer.itemSize, gl.FLOAT, false, 0, 0);
- gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexTextureCoordBuffer);
- gl.vertexAttribPointer(shaderProgram.textureCoordAttribute, cubeVertexTextureCoordBuffer.itemSize, gl.FLOAT, false, 0, 0);
- gl.activeTexture(gl.TEXTURE0);
- gl.bindTexture(gl.TEXTURE_2D, crateTexture);
- gl.uniform1i(shaderProgram.samplerUniform, 0);
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cubeVertexIndexBuffer);
- setMatrixUniforms();
- gl.drawElements(gl.TRIANGLES, cubeVertexIndexBuffer.numItems, gl.UNSIGNED_SHORT, 0);
- mvPopMatrix();
- mat4.scale(mvMatrix,[1/11,1/4,1]);
- mat4.translate(mvMatrix, [0, 4,21]);
- ////////////////////////////////////
- mat4.translate(mvMatrix, [moveX, moveY, -posZ]);
- segments[0].x = moveX;
- segments[0].y = moveY;
- openglDraw();
- var moveBy = 0.6;
- var favouriteNumber = 0.7;
- mat4.scale(mvMatrix, [0.9, 0.9, .9]);
- for (var j = 1; j < segmentsCounter; j++) {
- var distToParent = getLen(segments[j-1], segments[j]);
- if (distToParent > moveBy) {
- var tooFar = distToParent - moveBy;
- var dx = (segments[j - 1].x - segments[j].x) / distToParent;
- var dy = (segments[j - 1].y - segments[j].y) / distToParent;
- mat4.translate(mvMatrix, [-dx * favouriteNumber, -dy * favouriteNumber , 0]);
- segments[j].x = mvMatrix[12];
- segments[j].y = mvMatrix[13];
- }
- openglDraw();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement