mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
22 lines • 1.14 kB
JavaScript
import { SAOPass } from "three/examples/jsm/postprocessing/SAOPass";
import { getAmbientOcclusion } from "../../../states/useAmbientOcclusion";
import { getCameraRendered } from "../../../states/useCameraRendered";
import scene from "../../scene";
const saoPass = new SAOPass(scene, getCameraRendered(), false, true);
export default saoPass;
saoPass.params.saoKernelRadius = 80;
saoPass.params.saoBlurStdDev = 5;
getAmbientOcclusion((ao) => (saoPass.params.saoScale = ao === "light" ? 3000 : 2000));
getCameraRendered((camera) => {
saoPass.camera = camera;
saoPass.saoMaterial.defines["PERSPECTIVE_CAMERA"] =
camera.isPerspectiveCamera ? 1 : 0;
saoPass.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(camera.projectionMatrixInverse);
saoPass.saoMaterial.uniforms["cameraProjectionMatrix"].value =
camera.projectionMatrix;
saoPass.vBlurMaterial.defines["PERSPECTIVE_CAMERA"] =
camera.isPerspectiveCamera ? 1 : 0;
saoPass.hBlurMaterial.defines["PERSPECTIVE_CAMERA"] =
camera.isPerspectiveCamera ? 1 : 0;
});
//# sourceMappingURL=saoPass.js.map