Anders and Briegel in Python
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.5KB

  1. var gui = {};
  2. gui.construct = function() {
  3. gui.renderer = new THREE.WebGLRenderer();
  4. gui.renderer.setSize(window.innerWidth, window.innerHeight);
  5. gui.renderer.setClearColor(0xffffff, 1);
  6. document.querySelector("body").appendChild(gui.renderer.domElement);
  7. window.addEventListener("resize", gui.onWindowResize, false);
  8. gui.makeScene();
  9. gui.camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.3, 1000);
  10. gui.controls = new THREE.OrbitControls(gui.camera);
  11. gui.controls.center.set(0, 0, 0);
  12. gui.controls.rotateSpeed = 0.2;
  13. gui.camera.position.set(0, 0, 20);
  14. gui.controls.addEventListener("change", gui.render);
  15. };
  16. // Someone resized the window
  17. gui.onWindowResize = function(evt) {
  18. console.log(gui);
  19. gui.camera.aspect = window.innerWidth / window.innerHeight;
  20. gui.camera.updateProjectionMatrix();
  21. gui.renderer.setSize(window.innerWidth, window.innerHeight);
  22. gui.render();
  23. };
  24. // Render the current frame to the screen
  25. gui.render = function() {
  26. console.log("render");
  27. gui.renderer.render(gui.scene, gui.camera);
  28. };
  29. // Make the extra bits of gui
  30. gui.makeScene = function() {
  31. gui.scene = new THREE.Scene();
  32. var grid = new THREE.GridHelper(10, 1);
  33. grid.rotation.x = Math.PI / 2;
  34. grid.setColors(0xdddddd, 0xeeeeee);
  35. gui.scene.add(grid);
  36. };
  37. // Put an HTML message to the screen
  38. gui.serverMessage = function(msgtext){
  39. message.innerHTML = msgtext;
  40. message.className = "visible";
  41. };