UNPKG

awv3

Version:
74 lines (68 loc) 1.64 kB
import * as THREE from 'three'; import Events from './events'; import { Pool, ObjectPrototype } from './helpers'; const defaults = { resolution: 1, up: [0, 1, 0], stats: false, debug: false, ambientIntensity: 1.0, renderOrder: { Mesh: 0, LineSegments: 100, }, updateView: { focus: false, zoom: false, rotate: false, layers: false, }, materials: { lazy: false, multi: true, lineDistances: true, shadows: true, lights: true, }, lineShader: THREE.LineBasicMaterial, lineShaderOptions: { transparent: true, fog: false, }, meshShader: THREE.MeshPhysicalMaterial, meshShaderOptions: { transparent: true, fog: false, reflectivity: 1, polygonOffset: true, polygonOffsetFactor: 1, polygonOffsetUnits: 1, emissive: new THREE.Color(0), reflectivity: 1, metalness: 0.8, roughness: 0.7, clearCoat: 0.75, clearCoatRoughness: 0.5, envMapIntensity: 0.75 }, }; class Defaults extends Events { constructor() { super(); for (let key in defaults) { Object.defineProperty(this, key, { configurable: true, get: () => defaults[key], set: value => this.emit(Defaults.Events.Changed, key, (defaults[key] = value)), }); } } get all() { return defaults; } } Defaults.Events = { Changed: 'Changed', }; const instance = new Defaults(); export default instance;