UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

31 lines 1.36 kB
import getWorldPosition from "../memo/getWorldPosition"; import scene from "../engine/scene"; import { reflectionVisibleSet } from "../collections/reflectionCollections"; import { rendererPtr } from "../pointers/rendererPtr"; import { ssrExcludeSet } from "../collections/ssrExcludeSet"; import createInternalSystem from "./utils/createInternalSystem"; export const reflectionSystem = createInternalSystem("reflectionSystem", { data: {}, update: (manager, data) => { data.cubeCamera.position.copy(getWorldPosition(manager.outerObject3d)); data.cubeRenderTarget.clear(rendererPtr[0], false, true, false); data.cubeCamera.update(rendererPtr[0], scene); }, beforeTick: (queued) => { for (const manager of reflectionVisibleSet) manager.outerObject3d.visible = true; for (const manager of queued.keys()) manager.outerObject3d.visible = false; for (const object of ssrExcludeSet) object.visible = false; }, afterTick: (queued) => { for (const manager of reflectionVisibleSet) manager.outerObject3d.visible = false; for (const manager of queued.keys()) manager.outerObject3d.visible = true; for (const object of ssrExcludeSet) object.visible = true; } }); //# sourceMappingURL=reflectionSystem.js.map