Alexander Buzin 94281dae50 v2.2.0-alpha.0
Former-commit-id: a9cb3cebf19b298c5f08c87b208f26bfe5c5dfa4
2018-05-19 01:24:51 +03:00

76 lines
1.4 KiB
JavaScript

import * as UTILS from '@utils';
const app = new WHS.App([
new WHS.ElementModule(),
new WHS.SceneModule(true)
]);
const scene = new THREE.Scene();
const material = new THREE.MeshPhongMaterial({color: UTILS.$colors.mesh});
const materialNested = material.clone();
materialNested.color.set(0x0000ff);
const materialWHS = material.clone();
materialWHS.color.set(0xffffff);
materialWHS.map = WHS.TextureModule.load(`${process.assetsPath}/textures/earth.jpg`);
const mesh2 = new THREE.Mesh(
new THREE.SphereGeometry(1, 32, 32),
material
);
mesh2.position.set(4, 2, 0);
scene.add(mesh2);
const mesh3 = new THREE.Mesh(
new THREE.SphereGeometry(0.5, 32, 32),
materialNested
);
mesh3.position.set(0, 0, 1);
// Nested object.
mesh2.add(mesh3);
app.setScene(scene);
app
.module(new WHS.DefineModule('camera', new WHS.PerspectiveCamera({
position: new THREE.Vector3(0, 2, 12)
})))
.module(new WHS.RenderingModule({
bgColor: 0x162129,
renderer: {
antialias: true
}
}))
.module(new WHS.ResizeModule())
.module(new WHS.OrbitControlsModule());
const sphere = new WHS.Sphere({
geometry: [1, 32, 32],
material: materialWHS
});
sphere.addTo(app);
sphere.position.y = 2;
const mesh1 = WHS.MeshComponent.create(
new THREE.SphereGeometry(1, 32, 32),
{material}
);
mesh1.position.set(2, 2, 0);
app.add(mesh1);
const light = new WHS.PointLight();
light.addTo(app);
UTILS.addPlane(app);
UTILS.addBasicLights(app);
app.start();