Anders and Briegel in Python
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

63 lignes
1.6KB

  1. // Import modules
  2. requirejs(["anders_briegel"]);
  3. var controls, renderer, raycaster, scene, selection, camera;
  4. // Run on startup
  5. window.onload = init;
  6. // Clear the whole scene
  7. function makeScene() {
  8. var myScene = new THREE.Scene();
  9. var grid = new THREE.GridHelper(10, 1);
  10. grid.rotation.x = Math.PI / 2;
  11. grid.setColors(0xdddddd, 0xeeeeee);
  12. myScene.add(grid);
  13. return myScene;
  14. }
  15. // Render the current frame to the screen
  16. function render() {
  17. requestAnimationFrame(function() {
  18. renderer.render(scene, camera);
  19. });
  20. }
  21. // Someone resized the window
  22. function onWindowResize(evt) {
  23. camera.aspect = window.innerWidth / window.innerHeight;
  24. camera.updateProjectionMatrix();
  25. renderer.setSize(window.innerWidth, window.innerHeight);
  26. render();
  27. }
  28. // Called on startup
  29. function init() {
  30. // Renderer
  31. renderer = new THREE.WebGLRenderer({
  32. "antialias": true
  33. });
  34. renderer.setSize(window.innerWidth, window.innerHeight);
  35. renderer.setClearColor(0xffffff, 1);
  36. document.querySelector("body").appendChild(renderer.domElement);
  37. window.addEventListener("resize", onWindowResize, false);
  38. // Time to load the materials
  39. loadMaterials();
  40. // Camera, controls, raycaster
  41. camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.3, 1000);
  42. controls = new THREE.OrbitControls(camera);
  43. controls.center.set(0, 0, 0);
  44. controls.rotateSpeed = 0.2;
  45. camera.position.set(0, 0, 20);
  46. controls.addEventListener("change", render);
  47. // Run
  48. scene = makeScene();
  49. connectToServer();
  50. render();
  51. }