Browse Source

性能测试渲染

master
修宁 6 months ago
parent
commit
0edfc30cc6
  1. 48
      src/components/ThreePerfView.vue

48
src/components/ThreePerfView.vue

@ -171,7 +171,8 @@ function initThree() {
viewerDom.appendChild(renderer.domElement)
//
initMode3DCamera()
// initMode3DCamera()
initMode2DCamera()
// 线
axesHelper = new THREE.AxesHelper(5)
@ -235,6 +236,51 @@ function handleResize(entries) {
}
}
/**
* 初始化2D相机
*/
function initMode2DCamera() {
if (camera) {
scene.remove(camera)
}
// ============================
const cameraNew = new THREE.OrthographicCamera(
viewerDom.clientWidth / -2,
viewerDom.clientWidth / 2,
viewerDom.clientHeight / 2,
viewerDom.clientHeight / -2,
1,
500
)
cameraNew.position.set(0, 60, 0)
cameraNew.lookAt(0, 0, 0)
cameraNew.zoom = 60
camera = cameraNew
scene.add(camera)
// ============================
const controlsNew = new OrbitControls(
camera,
renderer.domElement
)
controlsNew.enableDamping = false
controlsNew.enableZoom = true
controlsNew.enableRotate = false
controlsNew.mouseButtons = { LEFT: THREE.MOUSE.PAN, RIGHT: THREE.MOUSE.PAN } //
controlsNew.screenSpacePanning = false //
controlsNew.listenToKeyEvents(viewerDom) //
controlsNew.keys = { LEFT: 'KeyA', UP: 'KeyW', RIGHT: 'KeyD', BOTTOM: 'KeyS' }
controlsNew.panSpeed = 1
controlsNew.keyPanSpeed = 20 // normal 7
controlsNew.minDistance = 0.1
controlsNew.maxDistance = 1000
controls = controlsNew
cameraNew.updateProjectionMatrix()
}
function initMode3DCamera() {
if (camera) {
scene.remove(camera)

Loading…
Cancel
Save