bytev-charts-beta
Version:
基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;
52 lines (48 loc) • 2.11 kB
JavaScript
import _Object$defineProperty from "@babel/runtime-corejs2/core-js/object/define-property";
import _Object$assign from "@babel/runtime-corejs2/core-js/object/assign";
import _Object$create from "@babel/runtime-corejs2/core-js/object/create";
import { BackSide, BoxBufferGeometry, Mesh, PerspectiveCamera, Scene, ShaderLib, ShaderMaterial } from "../../../build/three.module.js";
import { Pass } from "../postprocessing/Pass.js";
var CubeTexturePass = function CubeTexturePass(camera, envMap, opacity) {
Pass.call(this);
this.camera = camera;
this.needsSwap = false;
this.cubeShader = ShaderLib['cube'];
this.cubeMesh = new Mesh(new BoxBufferGeometry(10, 10, 10), new ShaderMaterial({
uniforms: this.cubeShader.uniforms,
vertexShader: this.cubeShader.vertexShader,
fragmentShader: this.cubeShader.fragmentShader,
depthTest: false,
depthWrite: false,
side: BackSide
}));
_Object$defineProperty(this.cubeMesh.material, 'envMap', {
get: function get() {
return this.uniforms.envMap.value;
}
});
this.envMap = envMap;
this.opacity = opacity !== undefined ? opacity : 1.0;
this.cubeScene = new Scene();
this.cubeCamera = new PerspectiveCamera();
this.cubeScene.add(this.cubeMesh);
};
CubeTexturePass.prototype = _Object$assign(_Object$create(Pass.prototype), {
constructor: CubeTexturePass,
render: function render(renderer, writeBuffer, readBuffer
/*, deltaTime, maskActive*/
) {
var oldAutoClear = renderer.autoClear;
renderer.autoClear = false;
this.cubeCamera.projectionMatrix.copy(this.camera.projectionMatrix);
this.cubeCamera.quaternion.setFromRotationMatrix(this.camera.matrixWorld);
this.cubeMesh.material.uniforms.envMap.value = this.envMap;
this.cubeMesh.material.uniforms.opacity.value = this.opacity;
this.cubeMesh.material.transparent = this.opacity < 1.0;
renderer.setRenderTarget(this.renderToScreen ? null : readBuffer);
if (this.clear) renderer.clear();
renderer.render(this.cubeScene, this.cubeCamera);
renderer.autoClear = oldAutoClear;
}
});
export { CubeTexturePass };