mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
17 lines (12 loc) • 732 B
text/typescript
import { SavePass } from "three/examples/jsm/postprocessing/SavePass"
import { ShaderPass } from "three/examples/jsm/postprocessing/ShaderPass"
import { BlendShader } from "three/examples/jsm/shaders/BlendShader"
import { CopyShader } from "three/examples/jsm/shaders/CopyShader"
import { getMotionBlurStrength } from "../../../states/useMotionBlurStrength"
const savePass = new SavePass()
const blendPass = new ShaderPass(BlendShader, "tDiffuse1")
blendPass.uniforms["tDiffuse2"].value = savePass.renderTarget.texture
getMotionBlurStrength((value) => (blendPass.uniforms["mixRatio"].value = value))
const outputPass = new ShaderPass(CopyShader)
outputPass.renderToScreen = true
export default [blendPass, savePass, outputPass]