102 lines
2.3 KiB
JavaScript
102 lines
2.3 KiB
JavaScript
|
||
|
||
// // // //
|
||
|
||
|
||
СоздатьСферу = мир =>
|
||
{
|
||
var форма = new THREE.SphereBufferGeometry(0.4, 32, 32);
|
||
var сфера = new THREE.Mesh(форма);
|
||
мир.сцена.add(сфера);
|
||
мир.камера.position.z = 10;
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ВстроитьОтрисовщикаThreeJS = мир =>
|
||
{
|
||
// Задать вид.
|
||
var css = `
|
||
html, body {
|
||
margin: 0;
|
||
}
|
||
`;
|
||
var вид = document.createElement("style");
|
||
вид.innerHTML = css;
|
||
document.head.appendChild(вид);
|
||
document.body.appendChild(мир.отрисовщик.domElement);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ОтслеживатьИзменениеРазмераОкнаБраузера = мир =>
|
||
{
|
||
window.addEventListener(
|
||
"resize",
|
||
function() {
|
||
мир.уведомить("изменили размер окна браузера");
|
||
}
|
||
);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ИзменитьРазмерОтрисовщикаThreeJS = мир =>
|
||
{
|
||
var ширина = window.innerWidth;
|
||
var высота = window.innerHeight;
|
||
мир.камера.aspect = ширина / высота;
|
||
мир.камера.updateProjectionMatrix();
|
||
мир.отрисовщик.setSize(ширина, высота);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ЗапуститьОтрисовку = мир =>
|
||
{
|
||
function отрисовать()
|
||
{
|
||
requestAnimationFrame(отрисовать);
|
||
мир.отрисовщик.render(мир.сцена, мир.камера);
|
||
}
|
||
отрисовать();
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
НастроитьThreeJS = мир =>
|
||
{
|
||
мир.сцена = new THREE.Scene();
|
||
мир.сцена.background = new THREE.Color(0x333366);
|
||
мир.камера = new THREE.PerspectiveCamera(45, 1, 0.1, 1000);
|
||
мир.отрисовщик = new THREE.WebGLRenderer({antialias: true});
|
||
мир.ловецНажатий = new THREE.Raycaster();
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
УстановитьThreeJS = мир =>
|
||
{
|
||
var модуль = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
|
||
var код = модуль.содержимое["/three.js"];
|
||
console.debug("УстановитьThreeJS");
|
||
|
||
// Загрузить скрипт.
|
||
var скрипт = document.createElement("script");
|
||
скрипт.innerHTML = код;
|
||
document.body.appendChild(скрипт);
|
||
};
|
||
|