Elfrey, тут как раз используется то
в этом примере по полной используются шейдеры, если я вас правильно понял,
то в самом простом варианте будет достаточно нарисовать конус света выходящего из прожектора по средствам заранее созданного объекта типа конус с наложенным на него материалом желтого цвета с полупрозрачностью, без всяких шейдеров например так:
geomLightCone = new THREE.CylinderGeometry( 0, 30, 100, 20, 4 );
material = new THREE.MeshBasicMaterial( {
color: 0xFFFF00,
opacity: 0.5,
visible: true} );
meshLight = new THREE.Mesh(geomLightCone, material);
scene.add(meshLight);
...так же необходимо постоянно отслеживать положение луча в зависимости от положения прожектора.
ps возможно я ошибаюсь, но отслеживать положение луча не обязательно, достаточно лишь в момент инициализации объектов на сцене поместить его в нужное место, а затем
вместо:
scene.add(meshLight);
добавить к объекту "прожектор", объекта "луч света" так:
projectorMesh.add(meshLight);