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