UNPKG

bytev-charts-beta

Version:

基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;

57 lines (49 loc) 1.84 kB
import _Object$assign from "@babel/runtime-corejs2/core-js/object/assign"; import _Object$create from "@babel/runtime-corejs2/core-js/object/create"; import { ShaderMaterial, UniformsUtils } from "../../../build/three.module.js"; import { Pass } from "../postprocessing/Pass.js"; import { HalftoneShader } from "../shaders/HalftoneShader.js"; /** * RGB Halftone pass for three.js effects composer. Requires HalftoneShader. */ var HalftonePass = function HalftonePass(width, height, params) { Pass.call(this); if (HalftoneShader === undefined) { console.error('THREE.HalftonePass requires HalftoneShader'); } this.uniforms = UniformsUtils.clone(HalftoneShader.uniforms); this.material = new ShaderMaterial({ uniforms: this.uniforms, fragmentShader: HalftoneShader.fragmentShader, vertexShader: HalftoneShader.vertexShader }); // set params this.uniforms.width.value = width; this.uniforms.height.value = height; for (var key in params) { if (params.hasOwnProperty(key) && this.uniforms.hasOwnProperty(key)) { this.uniforms[key].value = params[key]; } } this.fsQuad = new Pass.FullScreenQuad(this.material); }; HalftonePass.prototype = _Object$assign(_Object$create(Pass.prototype), { constructor: HalftonePass, render: function render(renderer, writeBuffer, readBuffer /*, deltaTime, maskActive*/ ) { this.material.uniforms["tDiffuse"].value = readBuffer.texture; if (this.renderToScreen) { renderer.setRenderTarget(null); this.fsQuad.render(renderer); } else { renderer.setRenderTarget(writeBuffer); if (this.clear) renderer.clear(); this.fsQuad.render(renderer); } }, setSize: function setSize(width, height) { this.uniforms.width.value = width; this.uniforms.height.value = height; } }); export { HalftonePass };