// Cable Car
let geomBox1 = new THREE.BoxGeometry(10, 4.5, 10, 1, 1, 1);
let matBox1 = new THREE.MeshPhongMaterial({
color: ColorsCableCar.orange,
});
let box1 = new THREE.Mesh(geomBox1, matBox1);
// Moon
let moon = new THREE.Mesh(geomMoon, matMoon);
// Taken from https://codepen.io/tr13ze/pen/QpNbNd?editors=1010
var geomHalo = new THREE.SphereGeometry(16, 32, 16);
var matHalo = new THREE.ShaderMaterial({
uniforms: {},
vertexShader: document.getElementById("vertexShader").textContent,
fragmentShader: document.getElementById("fragmentShader").textContent,
side: THREE.BackSide,
blending: THREE.AdditiveBlending,
transparent: true
});
var halo = new THREE.Mesh(geomHalo, matHalo);<!--Taken from https://codepen.io/tr13ze/pen/QpNbNd?editors=1010-->
<script id="vertexShader" type="x-shader/x-vertex">
varying vec3 vNormal; void main() { vNormal = normalize( normalMatrix * normal ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }
</script>
<script id="fragmentShader" type="x-shader/x-vertex">
varying vec3 vNormal; void main() { float intensity = pow( 0.7 - dot( vNormal, vec3( 0.0, 0.0, 0.5 ) ), 4.0 ); gl_FragColor = vec4( 0.89, 0.82, 0.69, 1.0 ) * intensity; }
</script>const pointLightHelper = new THREE.PointLightHelper(pointLight, 30);
const helper = new THREE.DirectionalLightHelper(directionalLight, 30);How to Model a Cartoon Rocket by Southern Shotty: https://www.youtube.com/watch?v=wMBu4ctUxn8