Advertisement
Guest User

Untitled

a guest
Sep 27th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. function drawScene() {
  2. var segments = [];
  3. for (var j = 0; j < segmentsCounter; j++) {
  4. segments.push({
  5. x:0,
  6. y:0
  7. })
  8. }
  9. gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight);
  10. gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
  11. mat4.perspective(45, aRatio, 0.1, 100, pMatrix);
  12. setupLight();
  13. mat4.identity(mvMatrix);
  14. mat4.translate(mvMatrix, [moveX, moveY, -posZ]);
  15. mat4.rotate(mvMatrix, degToRad(angle), [0, 0, 1]);
  16. segments[0].x = mvMatrix[12];
  17. segments[0].y = mvMatrix[13];
  18. openglDraw();
  19. var moveBy = 0.002;
  20. mat4.scale(mvMatrix, [0.9, 0.9, .9]);
  21. for (var j = 1; j < segmentsCounter; j++) {
  22. var distToParent = getLen(segments[j-1], segments[j]);
  23.  
  24. if (distToParent > moveBy) {
  25. var tooFar = distToParent - moveBy;
  26. var dx = (segments[j - 1].x - segments[j].x) / distToParent;
  27. var dy = (segments[j - 1].y - segments[j].y) / distToParent;
  28. mat4.translate(mvMatrix, [-dx * 0.6, -dy * 0.6 , 0]);
  29. segments[j].x = mvMatrix[12];
  30. segments[j].y = mvMatrix[13];
  31. }
  32. openglDraw();
  33. }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement