ThreeJS, упакованный для ГитЖС | ThreeJS packaged for GitJS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.2KB

  1. const ИМЯ = "three.js";
  2. // // // //
  3. СоздатьСферу = мир =>
  4. {
  5. var форма = new THREE.SphereBufferGeometry(0.4, 32, 32);
  6. var сфера = new THREE.Mesh(форма);
  7. мир.сцена.add(сфера);
  8. мир.камера.position.z = 10;
  9. };
  10. // // // //
  11. ВстроитьОтрисовщикаThreeJS = мир =>
  12. {
  13. // Задать вид.
  14. var css = `
  15. html, body {
  16. margin: 0;
  17. }
  18. `;
  19. var вид = document.createElement("style");
  20. вид.innerHTML = css;
  21. document.head.appendChild(вид);
  22. document.body.innerHTML = "";
  23. document.body.appendChild(мир.отрисовщик.domElement);
  24. };
  25. // // // //
  26. ОтслеживатьИзменениеРазмераОкнаБраузера = мир =>
  27. {
  28. window.addEventListener(
  29. "resize",
  30. function() {
  31. мир.уведомить("изменили размер окна браузера");
  32. }
  33. );
  34. };
  35. // // // //
  36. ИзменитьРазмерОтрисовщикаThreeJS = мир =>
  37. {
  38. var ширина = window.innerWidth;
  39. var высота = window.innerHeight;
  40. мир.камера.aspect = ширина / высота;
  41. мир.камера.updateProjectionMatrix();
  42. мир.отрисовщик.setSize(ширина, высота);
  43. };
  44. // // // //
  45. ЗапуститьОтрисовку = мир =>
  46. {
  47. function отрисовать()
  48. {
  49. requestAnimationFrame(отрисовать);
  50. мир.отрисовщик.render(мир.сцена, мир.камера);
  51. }
  52. отрисовать();
  53. };
  54. // // // //
  55. НастроитьThreeJS = мир =>
  56. {
  57. мир.сцена = new THREE.Scene();
  58. мир.сцена.background = new THREE.Color(0x333366);
  59. мир.камера = new THREE.PerspectiveCamera(45, 1, 0.1, 1000);
  60. мир.отрисовщик = new THREE.WebGLRenderer();
  61. };
  62. // // // //
  63. УстановитьThreeJS = мир =>
  64. {
  65. var модуль = мир.модули.модульПоИмени(ИМЯ);
  66. var код = модуль.содержимое["/three.min.js"];
  67. // Загрузить скрипт.
  68. var скрипт = document.createElement("script");
  69. скрипт.innerHTML = код;
  70. document.body.appendChild(скрипт);
  71. };