From fed41b2fd390ae729c05f63fcbc9f5e93cfd8f71 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 19 四月 2024 15:56:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/screen/components/screen-map-three/experience/cssRenderer.js | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) diff --git a/src/views/screen/components/screen-map-three/experience/cssRenderer.js b/src/views/screen/components/screen-map-three/experience/cssRenderer.js new file mode 100644 index 0000000..c433745 --- /dev/null +++ b/src/views/screen/components/screen-map-three/experience/cssRenderer.js @@ -0,0 +1,35 @@ +import * as THREE from 'three'; +import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer'; +export default class CSSRenderer { + constructor(experience) { + this.experience = experience; + this.container = experience.container; + this.canvas = experience.canvas; + this.sizes = experience.sizes; + this.scene = experience.scene; + this.camera = experience.camera; + + this.setInstance(); + } + setInstance() { + this.instance = new CSS2DRenderer(); + this.instance.setSize(this.sizes.width, this.sizes.height); + this.instance.domElement.style.position = 'absolute'; + this.instance.domElement.style.top = '0px'; + this.instance.domElement.style.left = '0px'; + this.instance.domElement.style.pointerEvents = 'none'; + this.container.appendChild(this.instance.domElement); + + } + resize() { + this.instance.setSize(this.sizes.width, this.sizes.height); + this.instance.setPixelRatio(this.sizes.pixelRatio); + } + update() { + this.instance.render(this.scene, this.camera.instance); + } + + destroy() { + this.instance.domElement.remove(); + } +} \ No newline at end of file -- Gitblit v1.8.0