UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

37 lines (29 loc) 1.13 kB
import Tag from "../../../../ecs/components/Tag.js"; import { EntityNode } from "../../../../ecs/parent/EntityNode.js"; import { Transform } from "../../../../ecs/transform/Transform.js"; import { sh3_make_shaded_geometry } from "../../visualise_spherical_harmonic_sphere.js"; /** * * @param {LightProbeVolume} volume * @param {number} size * @param {boolean} shadow * @returns {EntityNode} */ export function lpv_visualize_probes({ volume, size = 0.2, shadow = false }) { const parent = new EntityNode(); parent.entity.add(new Transform()); const count = volume.count; for (let i = 0; i < count; i++) { const probe_node = new EntityNode(); const entity = probe_node.entity; entity.add(new Transform()); entity.add( sh3_make_shaded_geometry(volume.harmonics, i * 3 * 9, shadow) ); entity.add(Tag.fromOne('LPV/probe')); probe_node.transform.position.fromArray(volume.points, i * 3); probe_node.transform.scale.setScalar(size); parent.addChild(probe_node); } return parent; }