(filePath, loadToken)
| 302 | failIfMajorPerformanceCaveat: false |
| 303 | }); |
| 304 | if (previewRenderer.debug) { |
| 305 | previewRenderer.debug.checkShaderErrors = false; |
| 306 | } |
| 307 | previewRenderer.setSize(width, height); |
| 308 | previewRenderer.setPixelRatio(window.devicePixelRatio); |
| 309 | previewRenderer.shadowMap.enabled = true; |
| 310 | console.log('Renderer created, size:', width, 'x', height); |
| 311 | |
| 312 | // Add lights |
| 313 | const ambientLight = new THREE.AmbientLight(0xffffff, 0.8); |
| 314 | previewScene.add(ambientLight); |
| 315 | console.log('Added ambient light'); |
| 316 | |
| 317 | const keyLight = new THREE.DirectionalLight(0xffffff, 1.0); |
| 318 | keyLight.position.set(200, 200, 200); |
| 319 | keyLight.castShadow = true; |
| 320 | previewScene.add(keyLight); |
| 321 | |
| 322 | const fillLight = new THREE.DirectionalLight(0xffffff, 0.6); |
| 323 | fillLight.position.set(-200, 100, -200); |
| 324 | previewScene.add(fillLight); |
| 325 | |
| 326 | const backLight = new THREE.DirectionalLight(0xffffff, 0.5); |
| 327 | backLight.position.set(0, -200, -200); |
| 328 | previewScene.add(backLight); |
| 329 | |
| 330 | console.log('Added 3 directional lights'); |
| 331 | |
| 332 | // Add axes helper (initially hidden) |
| 333 | previewAxesHelper = new THREE.AxesHelper(100); |
| 334 | previewAxesHelper.visible = false; |
| 335 | previewScene.add(previewAxesHelper); |
| 336 | |
| 337 | // Create OrbitControls |
| 338 | if (typeof THREE.OrbitControls !== 'undefined') { |
| 339 | console.log('Creating OrbitControls...'); |
| 340 | previewControls = new THREE.OrbitControls(previewCamera, previewRenderer.domElement); |
| 341 | previewControls.enableDamping = true; |
| 342 | previewControls.dampingFactor = 0.05; |
| 343 | previewControls.screenSpacePanning = true; |
| 344 | previewControls.minDistance = 10; |
| 345 | previewControls.maxDistance = 5000; |
| 346 | previewControls.mouseButtons = { |
| 347 | LEFT: THREE.MOUSE.ROTATE, |
| 348 | MIDDLE: THREE.MOUSE.DOLLY, |
| 349 | RIGHT: THREE.MOUSE.PAN |
| 350 | }; |
| 351 | console.log('OrbitControls created successfully'); |
| 352 | } else { |
| 353 | console.error('THREE.OrbitControls is not available!'); |
| 354 | } |
| 355 | |
| 356 | // Handle window resize |
nothing calls this directly
no test coverage detected