deck.gl 叠加 three.js 物体
import {
Matrix4 } from "@math.gl/core";
import {
Layer, LayerContext } from "@deck.gl/core";
import DeckGL from "@deck.gl/react";
import {
OrbitView } from "@deck.gl/core";
import * as THREE from "three";
import {
OrbitControls } from "three/examples/jsm/controls/OrbitControls";
type ThreeLayerProps = {
scene: THREE.Scene;
center: [number, number, number];
};
class ThreeLayer extends Layer<ThreeLayerProps> {
state!: {
renderer: THREE.WebGLRenderer;
camera: THREE.PerspectiveCamera;
controls: OrbitControls;
scene: THREE.Scene;
};
initializeState(context: LayerContext): void {
const renderer = new THREE.WebGLRenderer({
antialias: true,
context: context.gl,
}