{"version":3,"file":"GodRays.cjs","sources":["../../src/effects/GodRays.tsx"],"sourcesContent":["import { GodRaysEffect } from 'postprocessing'\nimport React, { Ref, forwardRef, useMemo, useContext, useLayoutEffect } from 'react'\nimport { Mesh, Points } from 'three'\nimport { EffectComposerContext } from '../EffectComposer'\nimport { resolveRef } from '../util'\n\ntype GodRaysProps = ConstructorParameters<typeof GodRaysEffect>[2] & {\n  sun: Mesh | Points | React.MutableRefObject<Mesh | Points>\n}\n\nexport const GodRays = forwardRef(function GodRays(props: GodRaysProps, ref: Ref<GodRaysEffect>) {\n  const { camera } = useContext(EffectComposerContext)\n  const effect = useMemo(() => new GodRaysEffect(camera, resolveRef(props.sun), props), [camera, props])\n  // @ts-ignore v6.30.2 https://github.com/pmndrs/postprocessing/pull/470/commits/091ef6f9516ca02efa7576305afbecf1ce8323ae\n  useLayoutEffect(() => void (effect.lightSource = resolveRef(props.sun)), [effect, props.sun])\n  return <primitive ref={ref} object={effect} dispose={null} />\n})\n"],"names":["forwardRef","GodRays","useContext","EffectComposerContext","useMemo","GodRaysEffect","resolveRef","useLayoutEffect"],"mappings":";;;;;;;AAUO,MAAM,UAAUA,MAAAA,WAAW,SAASC,SAAQ,OAAqB,KAAyB;AAC/F,QAAM,EAAE,OAAA,IAAWC,MAAA,WAAWC,eAAqB,qBAAA;AACnD,QAAM,SAASC,MAAA,QAAQ,MAAM,IAAIC,6BAAc,QAAQC,KAAA,WAAW,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,QAAQ,KAAK,CAAC;AAErGC,QAAAA,gBAAgB,MAAM,MAAM,OAAO,cAAcD,KAAW,WAAA,MAAM,GAAG,IAAI,CAAC,QAAQ,MAAM,GAAG,CAAC;AAC5F,wCAAQ,aAAU,EAAA,KAAU,QAAQ,QAAQ,SAAS,KAAM,CAAA;AAC7D,CAAC;;"}