lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
26 lines • 987 B
JavaScript
import store, { createEffect } from "@lincode/reactivity";
import { DepthOfFieldEffect } from "postprocessing";
import { getBokeh } from "../../../states/useBokeh";
import { getBokehScale } from "../../../states/useBokehScale";
import { getCameraRendered } from "../../../states/useCameraRendered";
import { cameraRenderedPtr } from "../../../pointers/cameraRenderedPtr";
const [setBokehEffect, getBokehEffect] = store(undefined);
export { getBokehEffect };
createEffect(() => {
if (!getBokeh())
return;
const effect = new DepthOfFieldEffect(cameraRenderedPtr[0], {
focusDistance: 0.0,
focalLength: 0.048,
bokehScale: getBokehScale(),
height: 480
});
setBokehEffect(effect);
const handle = getBokehScale((val) => (effect.bokehScale = val));
return () => {
handle.cancel();
setBokehEffect(undefined);
effect.dispose();
};
}, [getBokeh, getCameraRendered]);
//# sourceMappingURL=bokehEffect.js.map