Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. function drawScene() {
  2. gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight);
  3. gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
  4. mat4.perspective(45, aRatio, 0.1, 100, pMatrix);
  5. setupLight();
  6. mat4.identity(mvMatrix);
  7.  
  8. //////////////////////////// RYSUJ MAPE ///////////////////////////////////////
  9. mat4.translate(mvMatrix, [0, -4,-20]);
  10. mat4.scale(mvMatrix,[11,4,1]);
  11. mvPushMatrix();
  12. gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexPositionBuffer);
  13. gl.vertexAttribPointer(shaderProgram.vertexPositionAttribute, cubeVertexPositionBuffer.itemSize, gl.FLOAT, false, 0, 0);
  14.  
  15. gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexNormalBuffer);
  16. gl.vertexAttribPointer(shaderProgram.vertexNormalAttribute, cubeVertexNormalBuffer.itemSize, gl.FLOAT, false, 0, 0);
  17.  
  18. gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexTextureCoordBuffer);
  19. gl.vertexAttribPointer(shaderProgram.textureCoordAttribute, cubeVertexTextureCoordBuffer.itemSize, gl.FLOAT, false, 0, 0);
  20.  
  21. gl.activeTexture(gl.TEXTURE0);
  22. gl.bindTexture(gl.TEXTURE_2D, crateTexture);
  23. gl.uniform1i(shaderProgram.samplerUniform, 0);
  24.  
  25.  
  26. gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cubeVertexIndexBuffer);
  27. setMatrixUniforms();
  28. gl.drawElements(gl.TRIANGLES, cubeVertexIndexBuffer.numItems, gl.UNSIGNED_SHORT, 0);
  29. mvPopMatrix();
  30. mat4.scale(mvMatrix,[1/11,1/4,1]);
  31. mat4.translate(mvMatrix, [0, 4,21]);
  32. ////////////////////////////////////
  33.  
  34.  
  35.  
  36. mat4.translate(mvMatrix, [moveX, moveY, -posZ]);
  37. segments[0].x = moveX;
  38. segments[0].y = moveY;
  39. openglDraw();
  40. var moveBy = 0.6;
  41. var favouriteNumber = 0.7;
  42. mat4.scale(mvMatrix, [0.9, 0.9, .9]);
  43. for (var j = 1; j < segmentsCounter; j++) {
  44. var distToParent = getLen(segments[j-1], segments[j]);
  45. if (distToParent > moveBy) {
  46. var tooFar = distToParent - moveBy;
  47. var dx = (segments[j - 1].x - segments[j].x) / distToParent;
  48. var dy = (segments[j - 1].y - segments[j].y) / distToParent;
  49. mat4.translate(mvMatrix, [-dx * favouriteNumber, -dy * favouriteNumber , 0]);
  50. segments[j].x = mvMatrix[12];
  51. segments[j].y = mvMatrix[13];
  52. }
  53. openglDraw();
  54. }
  55.  
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement