Buckets:
ktongue/docker_container / simsite /frontend /node_modules /three-stdlib /postprocessing /ShaderPass.js
| var __defProp = Object.defineProperty; | |
| var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; | |
| var __publicField = (obj, key, value) => { | |
| __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); | |
| return value; | |
| }; | |
| import { ShaderMaterial, UniformsUtils } from "three"; | |
| import { Pass, FullScreenQuad } from "./Pass.js"; | |
| class ShaderPass extends Pass { | |
| constructor(shader, textureID = "tDiffuse") { | |
| super(); | |
| __publicField(this, "textureID"); | |
| __publicField(this, "uniforms"); | |
| __publicField(this, "material"); | |
| __publicField(this, "fsQuad"); | |
| this.textureID = textureID; | |
| if (shader instanceof ShaderMaterial) { | |
| this.uniforms = shader.uniforms; | |
| this.material = shader; | |
| } else { | |
| this.uniforms = UniformsUtils.clone(shader.uniforms); | |
| this.material = new ShaderMaterial({ | |
| defines: Object.assign({}, shader.defines), | |
| uniforms: this.uniforms, | |
| vertexShader: shader.vertexShader, | |
| fragmentShader: shader.fragmentShader | |
| }); | |
| } | |
| this.fsQuad = new FullScreenQuad(this.material); | |
| } | |
| render(renderer, writeBuffer, readBuffer) { | |
| if (this.uniforms[this.textureID]) { | |
| this.uniforms[this.textureID].value = readBuffer.texture; | |
| } | |
| this.fsQuad.material = this.material; | |
| if (this.renderToScreen) { | |
| renderer.setRenderTarget(null); | |
| this.fsQuad.render(renderer); | |
| } else { | |
| renderer.setRenderTarget(writeBuffer); | |
| if (this.clear) | |
| renderer.clear(renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil); | |
| this.fsQuad.render(renderer); | |
| } | |
| } | |
| dispose() { | |
| this.fsQuad.dispose(); | |
| this.material.dispose(); | |
| } | |
| } | |
| export { | |
| ShaderPass | |
| }; | |
| //# sourceMappingURL=ShaderPass.js.map | |
Xet Storage Details
- Size:
- 1.86 kB
- Xet hash:
- e6da870baa53da67c07d51e07017318754b8e8bf65834fe076c73778cb370706
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.