mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
24 lines • 1.11 kB
JavaScript
import store, { createEffect } from "@lincode/reactivity";
import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer";
import { getPixelRatio } from "./usePixelRatio";
import { getRenderer } from "./useRenderer";
import { getResolution } from "./useResolution";
const [setSelectiveBloomComposer, getSelectiveBloomComposer] = store(undefined);
export { getSelectiveBloomComposer };
createEffect(() => {
const renderer = getRenderer();
if (!renderer)
return;
const selectiveBloomComposer = new EffectComposer(renderer);
selectiveBloomComposer.renderToScreen = false;
setSelectiveBloomComposer(selectiveBloomComposer);
}, [getRenderer]);
createEffect(() => {
const selectiveBloomComposer = getSelectiveBloomComposer();
if (!selectiveBloomComposer)
return;
const [w, h] = getResolution();
selectiveBloomComposer.setSize(w, h);
selectiveBloomComposer.setPixelRatio(Math.min(getPixelRatio(), 1));
}, [getSelectiveBloomComposer, getResolution, getPixelRatio]);
//# sourceMappingURL=useSelectiveBloomComposer.js.map