Guest User

Untitled

a guest
Jun 25th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;
  2.  
  3. const createCam = (debug = false) => {
  4. let arr = [];
  5. for (let i = 0; i < 6; i++){
  6. let camera = new THREE.PerspectiveCamera( 45, SCREEN_WIDTH / SCREEN_HEIGHT, 100, 2000000 );
  7. arr.push( camera );
  8. if (debug){
  9. camera.updateProjectionMatrix();
  10. var helper = new THREE.CameraHelper( camera );
  11. scene.add( helper );
  12. }
  13. }
  14.  
  15. arr[0].lookAt (new THREE.Vector3(1,0,0));
  16. arr[1].lookAt (new THREE.Vector3(0,0,1));
  17. arr[2].lookAt (new THREE.Vector3(-1,0,0));
  18. arr[3].lookAt (new THREE.Vector3(0,0,-1));
  19. arr[4].lookAt (new THREE.Vector3(0,1,1));
  20. arr[5].lookAt (new THREE.Vector3(0,-1,1));
  21. arr[4].rotation.x = 90 * Math.PI / 180;
  22. arr[5].rotation.x = -90 * Math.PI / 180;
  23.  
  24. return arr;
  25. }
  26.  
  27. const renderCam = () => {
  28.  
  29. // LEFT
  30. v = [ 1, 0.33 * SCREEN_HEIGHT + 1, 0.25 * SCREEN_WIDTH - 2, 0.33 * SCREEN_HEIGHT - 2 ]
  31. renderer.setViewport(v[0],v[1],v[2],v[3]);
  32. renderer.setScissor(v[0],v[1],v[2],v[3]);
  33. renderer.setScissorTest(true);
  34. cameras[0].updateProjectionMatrix();
  35. renderer.render( scene, cameras[0] );
  36.  
  37. // MID
  38. v = [ 0.25 * SCREEN_WIDTH + 1, 0.33 * SCREEN_HEIGHT + 1, 0.25 * SCREEN_WIDTH - 2, 0.33 * SCREEN_HEIGHT - 2 ]
  39. renderer.setViewport(v[0],v[1],v[2],v[3]);
  40. renderer.setScissor(v[0],v[1],v[2],v[3]);
  41. renderer.setScissorTest(true);
  42. cameras[1].updateProjectionMatrix();
  43. renderer.render( scene, cameras[1] );
  44.  
  45. // RIGHT
  46. v = [ 0.5 * SCREEN_WIDTH + 1, 0.33 * SCREEN_HEIGHT + 1, 0.25 * SCREEN_WIDTH - 2, 0.33 * SCREEN_HEIGHT - 2 ]
  47. renderer.setViewport(v[0],v[1],v[2],v[3]);
  48. renderer.setScissor(v[0],v[1],v[2],v[3]);
  49. renderer.setScissorTest(true);
  50. cameras[2].updateProjectionMatrix();
  51. renderer.render( scene, cameras[2] );
  52.  
  53. // BACK
  54. v = [ 0.75 * SCREEN_WIDTH + 1, 0.33 * SCREEN_HEIGHT + 1, 0.25 * SCREEN_WIDTH - 2, 0.33 * SCREEN_HEIGHT - 2 ]
  55. renderer.setViewport(v[0],v[1],v[2],v[3]);
  56. renderer.setScissor(v[0],v[1],v[2],v[3]);
  57. renderer.setScissorTest(true);
  58. cameras[3].updateProjectionMatrix();
  59. renderer.render( scene, cameras[3] );
  60.  
  61. // TOP
  62. v = [ 0.25 * SCREEN_WIDTH + 1, 0, 0.25 * SCREEN_WIDTH - 2, 0.33 * SCREEN_HEIGHT - 2 ]
  63. renderer.setViewport(v[0],v[1],v[2],v[3]);
  64. renderer.setScissor(v[0],v[1],v[2],v[3]);
  65. renderer.setScissorTest(true);
  66. cameras[4].updateProjectionMatrix();
  67. renderer.render( scene, cameras[4] );
  68.  
  69. // BOTTOM
  70. v = [ 0.25 * SCREEN_WIDTH + 1, 0.66 * SCREEN_HEIGHT + 1, 0.25 * SCREEN_WIDTH - 2, 0.33 * SCREEN_HEIGHT - 2 ]
  71. renderer.setViewport(v[0],v[1],v[2],v[3]);
  72. renderer.setScissor(v[0],v[1],v[2],v[3]);
  73. renderer.setScissorTest(true);
  74. cameras[5].updateProjectionMatrix();
  75. renderer.render( scene, cameras[5] );
  76. }
  77.  
  78. const cameras = createCam(true);
Add Comment
Please, Sign In to add comment