bytev-charts
Version:
基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;
57 lines (49 loc) • 1.84 kB
JavaScript
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 };