|
@@ -179,39 +179,39 @@ F.near;B.far=u.far=v.far=F.far;if(D!==B.near||G!==B.far)k.updateRenderState({dep
|
|
ia[14]/(ia[10]+1);K=(ia[9]+1)/ia[5];V=(ia[9]-1)/ia[5];var Z=(ia[8]-1)/ia[0],ja=(W[8]+1)/W[0];W=aa*Z;ia=aa*ja;ja=P/(-Z+ja);Z=ja*-Z;v.matrixWorld.decompose(B.position,B.quaternion,B.scale);B.translateX(Z);B.translateZ(ja);B.matrixWorld.compose(B.position,B.quaternion,B.scale);B.matrixWorldInverse.getInverse(B.matrixWorld);aa+=ja;ja=F+ja;B.projectionMatrix.makePerspective(W-Z,ia+(P-Z),K*F/ja*aa,V*F/ja*aa,aa,ja)}else B.projectionMatrix.copy(v.projectionMatrix);return B};var H=null,M=new xi;M.setAnimationLoop(function(F,
|
|
ia[14]/(ia[10]+1);K=(ia[9]+1)/ia[5];V=(ia[9]-1)/ia[5];var Z=(ia[8]-1)/ia[0],ja=(W[8]+1)/W[0];W=aa*Z;ia=aa*ja;ja=P/(-Z+ja);Z=ja*-Z;v.matrixWorld.decompose(B.position,B.quaternion,B.scale);B.translateX(Z);B.translateZ(ja);B.matrixWorld.compose(B.position,B.quaternion,B.scale);B.matrixWorldInverse.getInverse(B.matrixWorld);aa+=ja;ja=F+ja;B.projectionMatrix.makePerspective(W-Z,ia+(P-Z),K*F/ja*aa,V*F/ja*aa,aa,ja)}else B.projectionMatrix.copy(v.projectionMatrix);return B};var H=null,M=new xi;M.setAnimationLoop(function(F,
|
|
K){p=K.getViewerPose(m);if(null!==p){var P=p.views,V=k.renderState.baseLayer;c.setFramebuffer(V.framebuffer);var ia=!1;P.length!==B.cameras.length&&(B.cameras.length=0,ia=!0);for(var W=0;W<P.length;W++){var aa=P[W],Z=V.getViewport(aa),ja=A[W];ja.matrix.fromArray(aa.transform.matrix);ja.projectionMatrix.fromArray(aa.projectionMatrix);ja.viewport.set(Z.x,Z.y,Z.width,Z.height);0===W&&B.matrix.copy(ja.matrix);!0===ia&&B.cameras.push(ja)}}P=k.inputSources;for(V=0;V<t.length;V++)t[V].update(P[V],K,m);H&&
|
|
K){p=K.getViewerPose(m);if(null!==p){var P=p.views,V=k.renderState.baseLayer;c.setFramebuffer(V.framebuffer);var ia=!1;P.length!==B.cameras.length&&(B.cameras.length=0,ia=!0);for(var W=0;W<P.length;W++){var aa=P[W],Z=V.getViewport(aa),ja=A[W];ja.matrix.fromArray(aa.transform.matrix);ja.projectionMatrix.fromArray(aa.projectionMatrix);ja.viewport.set(Z.x,Z.y,Z.width,Z.height);0===W&&B.matrix.copy(ja.matrix);!0===ia&&B.cameras.push(ja)}}P=k.inputSources;for(V=0;V<t.length;V++)t[V].update(P[V],K,m);H&&
|
|
H(F,K)});this.setAnimationLoop=function(F){H=F};this.dispose=function(){}}function El(c){function a(d,e){d.opacity.value=e.opacity;e.color&&d.diffuse.value.copy(e.color);e.emissive&&d.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity);e.map&&(d.map.value=e.map);e.alphaMap&&(d.alphaMap.value=e.alphaMap);e.specularMap&&(d.specularMap.value=e.specularMap);var f=c.get(e).envMap;f&&(d.envMap.value=f,d.flipEnvMap.value=f.isCubeTexture?-1:1,d.reflectivity.value=e.reflectivity,d.refractionRatio.value=
|
|
H(F,K)});this.setAnimationLoop=function(F){H=F};this.dispose=function(){}}function El(c){function a(d,e){d.opacity.value=e.opacity;e.color&&d.diffuse.value.copy(e.color);e.emissive&&d.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity);e.map&&(d.map.value=e.map);e.alphaMap&&(d.alphaMap.value=e.alphaMap);e.specularMap&&(d.specularMap.value=e.specularMap);var f=c.get(e).envMap;f&&(d.envMap.value=f,d.flipEnvMap.value=f.isCubeTexture?-1:1,d.reflectivity.value=e.reflectivity,d.refractionRatio.value=
|
|
-e.refractionRatio,f=c.get(f).__maxMipLevel,void 0!==f&&(d.maxMipLevel.value=f));e.lightMap&&(d.lightMap.value=e.lightMap,d.lightMapIntensity.value=e.lightMapIntensity);e.aoMap&&(d.aoMap.value=e.aoMap,d.aoMapIntensity.value=e.aoMapIntensity);if(e.map)var g=e.map;else e.specularMap?g=e.specularMap:e.displacementMap?g=e.displacementMap:e.normalMap?g=e.normalMap:e.bumpMap?g=e.bumpMap:e.roughnessMap?g=e.roughnessMap:e.metalnessMap?g=e.metalnessMap:e.alphaMap?g=e.alphaMap:e.emissiveMap&&(g=e.emissiveMap);
|
|
|
|
-void 0!==g&&(g.isWebGLRenderTarget&&(g=g.texture),!0===g.matrixAutoUpdate&&g.updateMatrix(),d.uvTransform.value.copy(g.matrix));if(e.aoMap)var h=e.aoMap;else e.lightMap&&(h=e.lightMap);void 0!==h&&(h.isWebGLRenderTarget&&(h=h.texture),!0===h.matrixAutoUpdate&&h.updateMatrix(),d.uv2Transform.value.copy(h.matrix))}function b(d,e){d.roughness.value=e.roughness;d.metalness.value=e.metalness;e.roughnessMap&&(d.roughnessMap.value=e.roughnessMap);e.metalnessMap&&(d.metalnessMap.value=e.metalnessMap);e.emissiveMap&&
|
|
|
|
-(d.emissiveMap.value=e.emissiveMap);e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1));e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate());e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);c.get(e).envMap&&(d.envMapIntensity.value=e.envMapIntensity)}return{refreshFogUniforms:function(d,
|
|
|
|
-e){d.fogColor.value.copy(e.color);e.isFog?(d.fogNear.value=e.near,d.fogFar.value=e.far):e.isFogExp2&&(d.fogDensity.value=e.density)},refreshMaterialUniforms:function(d,e,f,g){if(e.isMeshBasicMaterial)a(d,e);else if(e.isMeshLambertMaterial)a(d,e),e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap);else if(e.isMeshToonMaterial)a(d,e),e.gradientMap&&(d.gradientMap.value=e.gradientMap),e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,
|
|
|
|
-1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshPhongMaterial)a(d,e),d.specular.value.copy(e.specular),d.shininess.value=Math.max(e.shininess,1E-4),e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap),e.bumpMap&&(d.bumpMap.value=
|
|
|
|
-e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshStandardMaterial)a(d,e),e.isMeshPhysicalMaterial?(b(d,e),d.reflectivity.value=e.reflectivity,d.clearcoat.value=e.clearcoat,d.clearcoatRoughness.value=
|
|
|
|
-e.clearcoatRoughness,e.sheen&&d.sheen.value.copy(e.sheen),e.clearcoatMap&&(d.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(d.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(d.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),d.clearcoatNormalMap.value=e.clearcoatNormalMap,1===e.side&&d.clearcoatNormalScale.value.negate()),d.transmission.value=e.transmission,e.transmissionMap&&(d.transmissionMap.value=e.transmissionMap)):b(d,e);else if(e.isMeshMatcapMaterial)a(d,
|
|
|
|
-e),e.matcap&&(d.matcap.value=e.matcap),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshDepthMaterial)a(d,e),e.displacementMap&&(d.displacementMap.value=
|
|
|
|
-e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshDistanceMaterial)a(d,e),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias),d.referencePosition.value.copy(e.referencePosition),d.nearDistance.value=e.nearDistance,d.farDistance.value=e.farDistance;else if(e.isMeshNormalMaterial)a(d,e),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=
|
|
|
|
-e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isLineBasicMaterial)d.diffuse.value.copy(e.color),d.opacity.value=e.opacity,e.isLineDashedMaterial&&(d.dashSize.value=e.dashSize,d.totalSize.value=e.dashSize+e.gapSize,
|
|
|
|
-d.scale.value=e.scale);else if(e.isPointsMaterial){d.diffuse.value.copy(e.color);d.opacity.value=e.opacity;d.size.value=e.size*f;d.scale.value=.5*g;e.map&&(d.map.value=e.map);e.alphaMap&&(d.alphaMap.value=e.alphaMap);if(e.map)var h=e.map;else e.alphaMap&&(h=e.alphaMap);void 0!==h&&(!0===h.matrixAutoUpdate&&h.updateMatrix(),d.uvTransform.value.copy(h.matrix))}else if(e.isSpriteMaterial){d.diffuse.value.copy(e.color);d.opacity.value=e.opacity;d.rotation.value=e.rotation;e.map&&(d.map.value=e.map);e.alphaMap&&
|
|
|
|
-(d.alphaMap.value=e.alphaMap);if(e.map)var k=e.map;else e.alphaMap&&(k=e.alphaMap);void 0!==k&&(!0===k.matrixAutoUpdate&&k.updateMatrix(),d.uvTransform.value.copy(k.matrix))}else e.isShadowMaterial?(d.color.value.copy(e.color),d.opacity.value=e.opacity):e.isShaderMaterial&&(e.uniformsNeedUpdate=!1)}}}function Ne(c){function a(x,N){for(var J=0;J<x.length;J++){var O=t.getContext(x[J],N);if(null!==O)return O}return null}function b(){qa=new tk(R);Ea=new qk(R,qa,c);!1===Ea.isWebGL2&&(qa.get("WEBGL_depth_texture"),
|
|
|
|
-qa.get("OES_texture_float"),qa.get("OES_texture_half_float"),qa.get("OES_texture_half_float_linear"),qa.get("OES_standard_derivatives"),qa.get("OES_element_index_uint"),qa.get("OES_vertex_array_object"),qa.get("ANGLE_instanced_arrays"));qa.get("OES_texture_float_linear");lc=new Vi(R,qa,Ea);Ca=new Cl(R,qa,Ea);Ca.scissor(bb.copy(X).multiplyScalar(y).floor());Ca.viewport(Xa.copy(ba).multiplyScalar(y).floor());Ka=new wk(R);Ra=new sl;kb=new Dl(R,qa,Ca,Ra,Ea,lc,Ka);mc=new sk(F);Oe=new mk(R,Ea);Fb=new ok(R,
|
|
|
|
-qa,Oe,Ea);ph=new uk(R,Oe,Ka,Fb);Ld=new Ak(R,ph,Oe,Ka);Xi=new zk(R);Qb=new rk(Ra);dd=new rl(F,mc,qa,Ea,Fb,Qb);qh=new El(Ra);Uf=new vl(Ra);Md=new Bl;Hc=new nk(F,mc,Ca,Ld,D);Yi=new pk(R,qa,Ka,Ea);Zi=new vk(R,qa,Ka,Ea);Ka.programs=dd.programs;F.capabilities=Ea;F.extensions=qa;F.properties=Ra;F.renderLists=Uf;F.state=Ca;F.info=Ka}function d(x){x.preventDefault();console.log("THREE.WebGLRenderer: Context Lost.");K=!0}function e(){console.log("THREE.WebGLRenderer: Context Restored.");K=!1;b()}function f(x){x=
|
|
|
|
-x.target;x.removeEventListener("dispose",f);g(x);Ra.remove(x)}function g(x){x=Ra.get(x).program;void 0!==x&&dd.releaseProgram(x)}function h(x,N){x.render(function(J){F.renderBufferImmediate(J,N)})}function k(x,N,J,O){if(!1!==x.visible){if(x.layers.test(N.layers))if(x.isGroup)J=x.renderOrder;else if(x.isLOD)!0===x.autoUpdate&&x.update(N);else if(x.isLight)M.pushLight(x),x.castShadow&&M.pushShadow(x);else if(x.isSprite){if(!x.frustumCulled||va.intersectsSprite(x)){O&&la.setFromMatrixPosition(x.matrixWorld).applyMatrix4(U);
|
|
|
|
-var Y=Ld.update(x),ma=x.material;ma.visible&&H.push(x,Y,ma,J,la.z,null)}}else if(x.isImmediateRenderObject)O&&la.setFromMatrixPosition(x.matrixWorld).applyMatrix4(U),H.push(x,null,x.material,J,la.z,null);else if(x.isMesh||x.isLine||x.isPoints)if(x.isSkinnedMesh&&x.skeleton.frame!==Ka.render.frame&&(x.skeleton.update(),x.skeleton.frame=Ka.render.frame),!x.frustumCulled||va.intersectsObject(x))if(O&&la.setFromMatrixPosition(x.matrixWorld).applyMatrix4(U),Y=Ld.update(x),ma=x.material,Array.isArray(ma))for(var na=
|
|
|
|
-Y.groups,Ha=0,Fa=na.length;Ha<Fa;Ha++){var ib=na[Ha],Ia=ma[ib.materialIndex];Ia&&Ia.visible&&H.push(x,Y,Ia,J,la.z,ib)}else ma.visible&&H.push(x,Y,ma,J,la.z,null);x=x.children;Y=0;for(ma=x.length;Y<ma;Y++)k(x[Y],N,J,O)}}function l(x,N,J){for(var O=!0===N.isScene?N.overrideMaterial:null,Y=0,ma=x.length;Y<ma;Y++){var na=x[Y],Ha=na.object,Fa=na.geometry,ib=null===O?na.material:O;na=na.group;if(J.isArrayCamera){Aa=J;for(var Ia=J.cameras,ed=0,rh=Ia.length;ed<rh;ed++){var Vf=Ia[ed];Ha.layers.test(Vf.layers)&&
|
|
|
|
-(Ca.viewport(Xa.copy(Vf.viewport)),M.setupLights(Vf),m(Ha,N,Vf,Fa,ib,na))}}else Aa=null,m(Ha,N,J,Fa,ib,na)}}function m(x,N,J,O,Y,ma){x.onBeforeRender(F,N,J,O,Y,ma);M=Md.get(N,Aa||J);x.modelViewMatrix.multiplyMatrices(J.matrixWorldInverse,x.matrixWorld);x.normalMatrix.getNormalMatrix(x.modelViewMatrix);if(x.isImmediateRenderObject){var na=p(J,N,Y,x);Ca.setMaterial(Y);Fb.reset();h(x,na)}else F.renderBufferDirect(J,N,O,Y,x,ma);x.onAfterRender(F,N,J,O,Y,ma);M=Md.get(N,Aa||J)}function n(x,N,J){!0!==N.isScene&&
|
|
|
|
-(N=wa);var O=Ra.get(x),Y=M.state.lights,ma=Y.state.version;J=dd.getParameters(x,Y.state,M.state.shadowsArray,N,J);var na=dd.getProgramCacheKey(J),Ha=O.program,Fa=!0;if(void 0===Ha)x.addEventListener("dispose",f);else if(Ha.cacheKey!==na)g(x);else{if(O.lightsStateVersion===ma&&void 0!==J.shaderID){N=x.isMeshStandardMaterial?N.environment:null;O.envMap=mc.get(x.envMap||N);return}Fa=!1}Fa&&(J.uniforms=dd.getUniforms(x),x.onBeforeCompile(J,F),Ha=dd.acquireProgram(J,na),O.program=Ha,O.uniforms=J.uniforms,
|
|
|
|
-O.outputEncoding=J.outputEncoding);J=O.uniforms;if(!x.isShaderMaterial&&!x.isRawShaderMaterial||!0===x.clipping)O.numClippingPlanes=Qb.numPlanes,O.numIntersection=Qb.numIntersection,J.clippingPlanes=Qb.uniform;O.environment=x.isMeshStandardMaterial?N.environment:null;O.fog=N.fog;O.envMap=mc.get(x.envMap||O.environment);O.needsLights=x.isMeshLambertMaterial||x.isMeshToonMaterial||x.isMeshPhongMaterial||x.isMeshStandardMaterial||x.isShadowMaterial||x.isShaderMaterial&&!0===x.lights;O.lightsStateVersion=
|
|
|
|
-ma;O.needsLights&&(J.ambientLightColor.value=Y.state.ambient,J.lightProbe.value=Y.state.probe,J.directionalLights.value=Y.state.directional,J.directionalLightShadows.value=Y.state.directionalShadow,J.spotLights.value=Y.state.spot,J.spotLightShadows.value=Y.state.spotShadow,J.rectAreaLights.value=Y.state.rectArea,J.ltc_1.value=Y.state.rectAreaLTC1,J.ltc_2.value=Y.state.rectAreaLTC2,J.pointLights.value=Y.state.point,J.pointLightShadows.value=Y.state.pointShadow,J.hemisphereLights.value=Y.state.hemi,
|
|
|
|
-J.directionalShadowMap.value=Y.state.directionalShadowMap,J.directionalShadowMatrix.value=Y.state.directionalShadowMatrix,J.spotShadowMap.value=Y.state.spotShadowMap,J.spotShadowMatrix.value=Y.state.spotShadowMatrix,J.pointShadowMap.value=Y.state.pointShadowMap,J.pointShadowMatrix.value=Y.state.pointShadowMatrix);x=O.program.getUniforms();x=Dc.seqWithValue(x.seq,J);O.uniformsList=x}function p(x,N,J,O){!0!==N.isScene&&(N=wa);kb.resetTextureUnits();var Y=N.fog,ma=J.isMeshStandardMaterial?N.environment:
|
|
|
|
-null,na=null===W?F.outputEncoding:W.texture.encoding,Ha=mc.get(J.envMap||ma),Fa=Ra.get(J),ib=M.state.lights;!0!==ya||!0!==Pa&&x===ja||Qb.setState(J,x,x===ja&&J.id===Z);J.version===Fa.__version?J.fog&&Fa.fog!==Y?n(J,N,O):Fa.environment!==ma?n(J,N,O):Fa.needsLights&&Fa.lightsStateVersion!==ib.state.version?n(J,N,O):void 0===Fa.numClippingPlanes||Fa.numClippingPlanes===Qb.numPlanes&&Fa.numIntersection===Qb.numIntersection?Fa.outputEncoding!==na?n(J,N,O):Fa.envMap!==Ha&&n(J,N,O):n(J,N,O):(n(J,N,O),Fa.__version=
|
|
|
|
-J.version);var Ia=!1;ib=Ha=!1;N=Fa.program;ma=N.getUniforms();na=Fa.uniforms;Ca.useProgram(N.program)&&(ib=Ha=Ia=!0);J.id!==Z&&(Z=J.id,Ha=!0);if(Ia||ja!==x){ma.setValue(R,"projectionMatrix",x.projectionMatrix);Ea.logarithmicDepthBuffer&&ma.setValue(R,"logDepthBufFC",2/(Math.log(x.far+1)/Math.LN2));ja!==x&&(ja=x,ib=Ha=!0);if(J.isShaderMaterial||J.isMeshPhongMaterial||J.isMeshToonMaterial||J.isMeshStandardMaterial||J.envMap)Ia=ma.map.cameraPosition,void 0!==Ia&&Ia.setValue(R,la.setFromMatrixPosition(x.matrixWorld));
|
|
|
|
-(J.isMeshPhongMaterial||J.isMeshToonMaterial||J.isMeshLambertMaterial||J.isMeshBasicMaterial||J.isMeshStandardMaterial||J.isShaderMaterial)&&ma.setValue(R,"isOrthographic",!0===x.isOrthographicCamera);(J.isMeshPhongMaterial||J.isMeshToonMaterial||J.isMeshLambertMaterial||J.isMeshBasicMaterial||J.isMeshStandardMaterial||J.isShaderMaterial||J.isShadowMaterial||J.skinning)&&ma.setValue(R,"viewMatrix",x.matrixWorldInverse)}if(J.skinning&&(ma.setOptional(R,O,"bindMatrix"),ma.setOptional(R,O,"bindMatrixInverse"),
|
|
|
|
-x=O.skeleton))if(Ia=x.bones,Ea.floatVertexTextures){if(void 0===x.boneTexture){Ia=Math.sqrt(4*Ia.length);Ia=xa.ceilPowerOfTwo(Ia);Ia=Math.max(Ia,4);var ed=new Float32Array(Ia*Ia*4);ed.set(x.boneMatrices);var rh=new bd(ed,Ia,Ia,1023,1015);x.boneMatrices=ed;x.boneTexture=rh;x.boneTextureSize=Ia}ma.setValue(R,"boneTexture",x.boneTexture,kb);ma.setValue(R,"boneTextureSize",x.boneTextureSize)}else ma.setOptional(R,x,"boneMatrices");if(Ha||Fa.receiveShadow!==O.receiveShadow)Fa.receiveShadow=O.receiveShadow,
|
|
|
|
-ma.setValue(R,"receiveShadow",O.receiveShadow);Ha&&(ma.setValue(R,"toneMappingExposure",F.toneMappingExposure),Fa.needsLights&&(x=ib,na.ambientLightColor.needsUpdate=x,na.lightProbe.needsUpdate=x,na.directionalLights.needsUpdate=x,na.directionalLightShadows.needsUpdate=x,na.pointLights.needsUpdate=x,na.pointLightShadows.needsUpdate=x,na.spotLights.needsUpdate=x,na.spotLightShadows.needsUpdate=x,na.rectAreaLights.needsUpdate=x,na.hemisphereLights.needsUpdate=x),Y&&J.fog&&qh.refreshFogUniforms(na,Y),
|
|
|
|
-qh.refreshMaterialUniforms(na,J,y,C),Dc.upload(R,Fa.uniformsList,na,kb));J.isShaderMaterial&&!0===J.uniformsNeedUpdate&&(Dc.upload(R,Fa.uniformsList,na,kb),J.uniformsNeedUpdate=!1);J.isSpriteMaterial&&ma.setValue(R,"center",O.center);ma.setValue(R,"modelViewMatrix",O.modelViewMatrix);ma.setValue(R,"normalMatrix",O.normalMatrix);ma.setValue(R,"modelMatrix",O.matrixWorld);return N}c=c||{};var t=void 0!==c.canvas?c.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),q=void 0!==c.context?
|
|
|
|
-c.context:null,v=void 0!==c.alpha?c.alpha:!1,u=void 0!==c.depth?c.depth:!0,A=void 0!==c.stencil?c.stencil:!0,B=void 0!==c.antialias?c.antialias:!1,D=void 0!==c.premultipliedAlpha?c.premultipliedAlpha:!0,G=void 0!==c.preserveDrawingBuffer?c.preserveDrawingBuffer:!1,I=void 0!==c.powerPreference?c.powerPreference:"default",E=void 0!==c.failIfMajorPerformanceCaveat?c.failIfMajorPerformanceCaveat:!1,H=null,M=null;this.domElement=t;this.debug={checkShaderErrors:!0};this.sortObjects=this.autoClearStencil=
|
|
|
|
-this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=[];this.localClippingEnabled=!1;this.gammaFactor=2;this.outputEncoding=3E3;this.physicallyCorrectLights=!1;this.toneMapping=0;this.toneMappingExposure=1;this.maxMorphTargets=8;this.maxMorphNormals=4;var F=this,K=!1,P=null,V=0,ia=0,W=null,aa=null,Z=-1,ja=null,Aa=null,Xa=new ca,bb=new ca,fb=null,z=t.width,C=t.height,y=1,Q=null,T=null,ba=new ca(0,0,z,C),X=new ca(0,0,z,C),ta=!1,va=new xb,ya=!1,Pa=!1,U=new da,la=new w,wa={background:null,
|
|
|
|
-fog:null,environment:null,overrideMaterial:null,isScene:!0},R=q;try{q={alpha:v,depth:u,stencil:A,antialias:B,premultipliedAlpha:D,preserveDrawingBuffer:G,powerPreference:I,failIfMajorPerformanceCaveat:E};t.addEventListener("webglcontextlost",d,!1);t.addEventListener("webglcontextrestored",e,!1);if(null===R&&(v=["webgl2","webgl","experimental-webgl"],!0===F.isWebGL1Renderer&&v.shift(),R=a(v,q),null===R)){if(a(v))throw Error("Error creating WebGL context with your selected attributes.");throw Error("Error creating WebGL context.");
|
|
|
|
-}void 0===R.getShaderPrecisionFormat&&(R.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(x){throw console.error("THREE.WebGLRenderer: "+x.message),x;}var qa,Ea,Ca,Ka,Ra,kb,mc,Oe,ph,Ld,dd,qh,Uf,Md,Qb,Hc,Xi,Yi,Zi,lc,Fb;b();var Ic=new Wi(F,R);this.xr=Ic;var $i=new Ui(F,Ld,Ea.maxTextureSize);this.shadowMap=$i;this.getContext=function(){return R};this.getContextAttributes=function(){return R.getContextAttributes()};this.forceContextLoss=function(){var x=qa.get("WEBGL_lose_context");
|
|
|
|
-x&&x.loseContext()};this.forceContextRestore=function(){var x=qa.get("WEBGL_lose_context");x&&x.restoreContext()};this.getPixelRatio=function(){return y};this.setPixelRatio=function(x){void 0!==x&&(y=x,this.setSize(z,C,!1))};this.getSize=function(x){void 0===x&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),x=new L);return x.set(z,C)};this.setSize=function(x,N,J){Ic.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):
|
|
|
|
|
|
+e.refractionRatio,f=c.get(f).__maxMipLevel,void 0!==f&&(d.maxMipLevel.value=f));e.lightMap&&(d.lightMap.value=e.lightMap,d.lightMapIntensity.value=e.lightMapIntensity);e.aoMap&&(d.aoMap.value=e.aoMap,d.aoMapIntensity.value=e.aoMapIntensity);if(e.map)var g=e.map;else e.specularMap?g=e.specularMap:e.displacementMap?g=e.displacementMap:e.normalMap?g=e.normalMap:e.bumpMap?g=e.bumpMap:e.roughnessMap?g=e.roughnessMap:e.metalnessMap?g=e.metalnessMap:e.alphaMap?g=e.alphaMap:e.emissiveMap?g=e.emissiveMap:
|
|
|
|
+e.clearcoatMap?g=e.clearcoatMap:e.clearcoatNormalMap?g=e.clearcoatNormalMap:e.clearcoatRoughnessMap&&(g=e.clearcoatRoughnessMap);void 0!==g&&(g.isWebGLRenderTarget&&(g=g.texture),!0===g.matrixAutoUpdate&&g.updateMatrix(),d.uvTransform.value.copy(g.matrix));if(e.aoMap)var h=e.aoMap;else e.lightMap&&(h=e.lightMap);void 0!==h&&(h.isWebGLRenderTarget&&(h=h.texture),!0===h.matrixAutoUpdate&&h.updateMatrix(),d.uv2Transform.value.copy(h.matrix))}function b(d,e){d.roughness.value=e.roughness;d.metalness.value=
|
|
|
|
+e.metalness;e.roughnessMap&&(d.roughnessMap.value=e.roughnessMap);e.metalnessMap&&(d.metalnessMap.value=e.metalnessMap);e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap);e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1));e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate());e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,
|
|
|
|
+d.displacementBias.value=e.displacementBias);c.get(e).envMap&&(d.envMapIntensity.value=e.envMapIntensity)}return{refreshFogUniforms:function(d,e){d.fogColor.value.copy(e.color);e.isFog?(d.fogNear.value=e.near,d.fogFar.value=e.far):e.isFogExp2&&(d.fogDensity.value=e.density)},refreshMaterialUniforms:function(d,e,f,g){if(e.isMeshBasicMaterial)a(d,e);else if(e.isMeshLambertMaterial)a(d,e),e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap);else if(e.isMeshToonMaterial)a(d,e),e.gradientMap&&(d.gradientMap.value=
|
|
|
|
+e.gradientMap),e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshPhongMaterial)a(d,e),d.specular.value.copy(e.specular),
|
|
|
|
+d.shininess.value=Math.max(e.shininess,1E-4),e.emissiveMap&&(d.emissiveMap.value=e.emissiveMap),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshStandardMaterial)a(d,
|
|
|
|
+e),e.isMeshPhysicalMaterial?(b(d,e),d.reflectivity.value=e.reflectivity,d.clearcoat.value=e.clearcoat,d.clearcoatRoughness.value=e.clearcoatRoughness,e.sheen&&d.sheen.value.copy(e.sheen),e.clearcoatMap&&(d.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(d.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(d.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),d.clearcoatNormalMap.value=e.clearcoatNormalMap,1===e.side&&d.clearcoatNormalScale.value.negate()),
|
|
|
|
+d.transmission.value=e.transmission,e.transmissionMap&&(d.transmissionMap.value=e.transmissionMap)):b(d,e);else if(e.isMeshMatcapMaterial)a(d,e),e.matcap&&(d.matcap.value=e.matcap),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,
|
|
|
|
+d.displacementBias.value=e.displacementBias);else if(e.isMeshDepthMaterial)a(d,e),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isMeshDistanceMaterial)a(d,e),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias),d.referencePosition.value.copy(e.referencePosition),d.nearDistance.value=
|
|
|
|
+e.nearDistance,d.farDistance.value=e.farDistance;else if(e.isMeshNormalMaterial)a(d,e),e.bumpMap&&(d.bumpMap.value=e.bumpMap,d.bumpScale.value=e.bumpScale,1===e.side&&(d.bumpScale.value*=-1)),e.normalMap&&(d.normalMap.value=e.normalMap,d.normalScale.value.copy(e.normalScale),1===e.side&&d.normalScale.value.negate()),e.displacementMap&&(d.displacementMap.value=e.displacementMap,d.displacementScale.value=e.displacementScale,d.displacementBias.value=e.displacementBias);else if(e.isLineBasicMaterial)d.diffuse.value.copy(e.color),
|
|
|
|
+d.opacity.value=e.opacity,e.isLineDashedMaterial&&(d.dashSize.value=e.dashSize,d.totalSize.value=e.dashSize+e.gapSize,d.scale.value=e.scale);else if(e.isPointsMaterial){d.diffuse.value.copy(e.color);d.opacity.value=e.opacity;d.size.value=e.size*f;d.scale.value=.5*g;e.map&&(d.map.value=e.map);e.alphaMap&&(d.alphaMap.value=e.alphaMap);if(e.map)var h=e.map;else e.alphaMap&&(h=e.alphaMap);void 0!==h&&(!0===h.matrixAutoUpdate&&h.updateMatrix(),d.uvTransform.value.copy(h.matrix))}else if(e.isSpriteMaterial){d.diffuse.value.copy(e.color);
|
|
|
|
+d.opacity.value=e.opacity;d.rotation.value=e.rotation;e.map&&(d.map.value=e.map);e.alphaMap&&(d.alphaMap.value=e.alphaMap);if(e.map)var k=e.map;else e.alphaMap&&(k=e.alphaMap);void 0!==k&&(!0===k.matrixAutoUpdate&&k.updateMatrix(),d.uvTransform.value.copy(k.matrix))}else e.isShadowMaterial?(d.color.value.copy(e.color),d.opacity.value=e.opacity):e.isShaderMaterial&&(e.uniformsNeedUpdate=!1)}}}function Ne(c){function a(x,N){for(var J=0;J<x.length;J++){var O=t.getContext(x[J],N);if(null!==O)return O}return null}
|
|
|
|
+function b(){qa=new tk(R);Ea=new qk(R,qa,c);!1===Ea.isWebGL2&&(qa.get("WEBGL_depth_texture"),qa.get("OES_texture_float"),qa.get("OES_texture_half_float"),qa.get("OES_texture_half_float_linear"),qa.get("OES_standard_derivatives"),qa.get("OES_element_index_uint"),qa.get("OES_vertex_array_object"),qa.get("ANGLE_instanced_arrays"));qa.get("OES_texture_float_linear");lc=new Vi(R,qa,Ea);Ca=new Cl(R,qa,Ea);Ca.scissor(bb.copy(X).multiplyScalar(y).floor());Ca.viewport(Xa.copy(ba).multiplyScalar(y).floor());
|
|
|
|
+Ka=new wk(R);Ra=new sl;kb=new Dl(R,qa,Ca,Ra,Ea,lc,Ka);mc=new sk(F);Oe=new mk(R,Ea);Fb=new ok(R,qa,Oe,Ea);ph=new uk(R,Oe,Ka,Fb);Ld=new Ak(R,ph,Oe,Ka);Xi=new zk(R);Qb=new rk(Ra);dd=new rl(F,mc,qa,Ea,Fb,Qb);qh=new El(Ra);Uf=new vl(Ra);Md=new Bl;Hc=new nk(F,mc,Ca,Ld,D);Yi=new pk(R,qa,Ka,Ea);Zi=new vk(R,qa,Ka,Ea);Ka.programs=dd.programs;F.capabilities=Ea;F.extensions=qa;F.properties=Ra;F.renderLists=Uf;F.state=Ca;F.info=Ka}function d(x){x.preventDefault();console.log("THREE.WebGLRenderer: Context Lost.");
|
|
|
|
+K=!0}function e(){console.log("THREE.WebGLRenderer: Context Restored.");K=!1;b()}function f(x){x=x.target;x.removeEventListener("dispose",f);g(x);Ra.remove(x)}function g(x){x=Ra.get(x).program;void 0!==x&&dd.releaseProgram(x)}function h(x,N){x.render(function(J){F.renderBufferImmediate(J,N)})}function k(x,N,J,O){if(!1!==x.visible){if(x.layers.test(N.layers))if(x.isGroup)J=x.renderOrder;else if(x.isLOD)!0===x.autoUpdate&&x.update(N);else if(x.isLight)M.pushLight(x),x.castShadow&&M.pushShadow(x);else if(x.isSprite){if(!x.frustumCulled||
|
|
|
|
+va.intersectsSprite(x)){O&&la.setFromMatrixPosition(x.matrixWorld).applyMatrix4(U);var Y=Ld.update(x),ma=x.material;ma.visible&&H.push(x,Y,ma,J,la.z,null)}}else if(x.isImmediateRenderObject)O&&la.setFromMatrixPosition(x.matrixWorld).applyMatrix4(U),H.push(x,null,x.material,J,la.z,null);else if(x.isMesh||x.isLine||x.isPoints)if(x.isSkinnedMesh&&x.skeleton.frame!==Ka.render.frame&&(x.skeleton.update(),x.skeleton.frame=Ka.render.frame),!x.frustumCulled||va.intersectsObject(x))if(O&&la.setFromMatrixPosition(x.matrixWorld).applyMatrix4(U),
|
|
|
|
+Y=Ld.update(x),ma=x.material,Array.isArray(ma))for(var na=Y.groups,Ha=0,Fa=na.length;Ha<Fa;Ha++){var ib=na[Ha],Ia=ma[ib.materialIndex];Ia&&Ia.visible&&H.push(x,Y,Ia,J,la.z,ib)}else ma.visible&&H.push(x,Y,ma,J,la.z,null);x=x.children;Y=0;for(ma=x.length;Y<ma;Y++)k(x[Y],N,J,O)}}function l(x,N,J){for(var O=!0===N.isScene?N.overrideMaterial:null,Y=0,ma=x.length;Y<ma;Y++){var na=x[Y],Ha=na.object,Fa=na.geometry,ib=null===O?na.material:O;na=na.group;if(J.isArrayCamera){Aa=J;for(var Ia=J.cameras,ed=0,rh=
|
|
|
|
+Ia.length;ed<rh;ed++){var Vf=Ia[ed];Ha.layers.test(Vf.layers)&&(Ca.viewport(Xa.copy(Vf.viewport)),M.setupLights(Vf),m(Ha,N,Vf,Fa,ib,na))}}else Aa=null,m(Ha,N,J,Fa,ib,na)}}function m(x,N,J,O,Y,ma){x.onBeforeRender(F,N,J,O,Y,ma);M=Md.get(N,Aa||J);x.modelViewMatrix.multiplyMatrices(J.matrixWorldInverse,x.matrixWorld);x.normalMatrix.getNormalMatrix(x.modelViewMatrix);if(x.isImmediateRenderObject){var na=p(J,N,Y,x);Ca.setMaterial(Y);Fb.reset();h(x,na)}else F.renderBufferDirect(J,N,O,Y,x,ma);x.onAfterRender(F,
|
|
|
|
+N,J,O,Y,ma);M=Md.get(N,Aa||J)}function n(x,N,J){!0!==N.isScene&&(N=wa);var O=Ra.get(x),Y=M.state.lights,ma=Y.state.version;J=dd.getParameters(x,Y.state,M.state.shadowsArray,N,J);var na=dd.getProgramCacheKey(J),Ha=O.program,Fa=!0;if(void 0===Ha)x.addEventListener("dispose",f);else if(Ha.cacheKey!==na)g(x);else{if(O.lightsStateVersion===ma&&void 0!==J.shaderID){N=x.isMeshStandardMaterial?N.environment:null;O.envMap=mc.get(x.envMap||N);return}Fa=!1}Fa&&(J.uniforms=dd.getUniforms(x),x.onBeforeCompile(J,
|
|
|
|
+F),Ha=dd.acquireProgram(J,na),O.program=Ha,O.uniforms=J.uniforms,O.outputEncoding=J.outputEncoding);J=O.uniforms;if(!x.isShaderMaterial&&!x.isRawShaderMaterial||!0===x.clipping)O.numClippingPlanes=Qb.numPlanes,O.numIntersection=Qb.numIntersection,J.clippingPlanes=Qb.uniform;O.environment=x.isMeshStandardMaterial?N.environment:null;O.fog=N.fog;O.envMap=mc.get(x.envMap||O.environment);O.needsLights=x.isMeshLambertMaterial||x.isMeshToonMaterial||x.isMeshPhongMaterial||x.isMeshStandardMaterial||x.isShadowMaterial||
|
|
|
|
+x.isShaderMaterial&&!0===x.lights;O.lightsStateVersion=ma;O.needsLights&&(J.ambientLightColor.value=Y.state.ambient,J.lightProbe.value=Y.state.probe,J.directionalLights.value=Y.state.directional,J.directionalLightShadows.value=Y.state.directionalShadow,J.spotLights.value=Y.state.spot,J.spotLightShadows.value=Y.state.spotShadow,J.rectAreaLights.value=Y.state.rectArea,J.ltc_1.value=Y.state.rectAreaLTC1,J.ltc_2.value=Y.state.rectAreaLTC2,J.pointLights.value=Y.state.point,J.pointLightShadows.value=Y.state.pointShadow,
|
|
|
|
+J.hemisphereLights.value=Y.state.hemi,J.directionalShadowMap.value=Y.state.directionalShadowMap,J.directionalShadowMatrix.value=Y.state.directionalShadowMatrix,J.spotShadowMap.value=Y.state.spotShadowMap,J.spotShadowMatrix.value=Y.state.spotShadowMatrix,J.pointShadowMap.value=Y.state.pointShadowMap,J.pointShadowMatrix.value=Y.state.pointShadowMatrix);x=O.program.getUniforms();x=Dc.seqWithValue(x.seq,J);O.uniformsList=x}function p(x,N,J,O){!0!==N.isScene&&(N=wa);kb.resetTextureUnits();var Y=N.fog,
|
|
|
|
+ma=J.isMeshStandardMaterial?N.environment:null,na=null===W?F.outputEncoding:W.texture.encoding,Ha=mc.get(J.envMap||ma),Fa=Ra.get(J),ib=M.state.lights;!0!==ya||!0!==Pa&&x===ja||Qb.setState(J,x,x===ja&&J.id===Z);J.version===Fa.__version?J.fog&&Fa.fog!==Y?n(J,N,O):Fa.environment!==ma?n(J,N,O):Fa.needsLights&&Fa.lightsStateVersion!==ib.state.version?n(J,N,O):void 0===Fa.numClippingPlanes||Fa.numClippingPlanes===Qb.numPlanes&&Fa.numIntersection===Qb.numIntersection?Fa.outputEncoding!==na?n(J,N,O):Fa.envMap!==
|
|
|
|
+Ha&&n(J,N,O):n(J,N,O):(n(J,N,O),Fa.__version=J.version);var Ia=!1;ib=Ha=!1;N=Fa.program;ma=N.getUniforms();na=Fa.uniforms;Ca.useProgram(N.program)&&(ib=Ha=Ia=!0);J.id!==Z&&(Z=J.id,Ha=!0);if(Ia||ja!==x){ma.setValue(R,"projectionMatrix",x.projectionMatrix);Ea.logarithmicDepthBuffer&&ma.setValue(R,"logDepthBufFC",2/(Math.log(x.far+1)/Math.LN2));ja!==x&&(ja=x,ib=Ha=!0);if(J.isShaderMaterial||J.isMeshPhongMaterial||J.isMeshToonMaterial||J.isMeshStandardMaterial||J.envMap)Ia=ma.map.cameraPosition,void 0!==
|
|
|
|
+Ia&&Ia.setValue(R,la.setFromMatrixPosition(x.matrixWorld));(J.isMeshPhongMaterial||J.isMeshToonMaterial||J.isMeshLambertMaterial||J.isMeshBasicMaterial||J.isMeshStandardMaterial||J.isShaderMaterial)&&ma.setValue(R,"isOrthographic",!0===x.isOrthographicCamera);(J.isMeshPhongMaterial||J.isMeshToonMaterial||J.isMeshLambertMaterial||J.isMeshBasicMaterial||J.isMeshStandardMaterial||J.isShaderMaterial||J.isShadowMaterial||J.skinning)&&ma.setValue(R,"viewMatrix",x.matrixWorldInverse)}if(J.skinning&&(ma.setOptional(R,
|
|
|
|
+O,"bindMatrix"),ma.setOptional(R,O,"bindMatrixInverse"),x=O.skeleton))if(Ia=x.bones,Ea.floatVertexTextures){if(void 0===x.boneTexture){Ia=Math.sqrt(4*Ia.length);Ia=xa.ceilPowerOfTwo(Ia);Ia=Math.max(Ia,4);var ed=new Float32Array(Ia*Ia*4);ed.set(x.boneMatrices);var rh=new bd(ed,Ia,Ia,1023,1015);x.boneMatrices=ed;x.boneTexture=rh;x.boneTextureSize=Ia}ma.setValue(R,"boneTexture",x.boneTexture,kb);ma.setValue(R,"boneTextureSize",x.boneTextureSize)}else ma.setOptional(R,x,"boneMatrices");if(Ha||Fa.receiveShadow!==
|
|
|
|
+O.receiveShadow)Fa.receiveShadow=O.receiveShadow,ma.setValue(R,"receiveShadow",O.receiveShadow);Ha&&(ma.setValue(R,"toneMappingExposure",F.toneMappingExposure),Fa.needsLights&&(x=ib,na.ambientLightColor.needsUpdate=x,na.lightProbe.needsUpdate=x,na.directionalLights.needsUpdate=x,na.directionalLightShadows.needsUpdate=x,na.pointLights.needsUpdate=x,na.pointLightShadows.needsUpdate=x,na.spotLights.needsUpdate=x,na.spotLightShadows.needsUpdate=x,na.rectAreaLights.needsUpdate=x,na.hemisphereLights.needsUpdate=
|
|
|
|
+x),Y&&J.fog&&qh.refreshFogUniforms(na,Y),qh.refreshMaterialUniforms(na,J,y,C),Dc.upload(R,Fa.uniformsList,na,kb));J.isShaderMaterial&&!0===J.uniformsNeedUpdate&&(Dc.upload(R,Fa.uniformsList,na,kb),J.uniformsNeedUpdate=!1);J.isSpriteMaterial&&ma.setValue(R,"center",O.center);ma.setValue(R,"modelViewMatrix",O.modelViewMatrix);ma.setValue(R,"normalMatrix",O.normalMatrix);ma.setValue(R,"modelMatrix",O.matrixWorld);return N}c=c||{};var t=void 0!==c.canvas?c.canvas:document.createElementNS("http://www.w3.org/1999/xhtml",
|
|
|
|
+"canvas"),q=void 0!==c.context?c.context:null,v=void 0!==c.alpha?c.alpha:!1,u=void 0!==c.depth?c.depth:!0,A=void 0!==c.stencil?c.stencil:!0,B=void 0!==c.antialias?c.antialias:!1,D=void 0!==c.premultipliedAlpha?c.premultipliedAlpha:!0,G=void 0!==c.preserveDrawingBuffer?c.preserveDrawingBuffer:!1,I=void 0!==c.powerPreference?c.powerPreference:"default",E=void 0!==c.failIfMajorPerformanceCaveat?c.failIfMajorPerformanceCaveat:!1,H=null,M=null;this.domElement=t;this.debug={checkShaderErrors:!0};this.sortObjects=
|
|
|
|
+this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=[];this.localClippingEnabled=!1;this.gammaFactor=2;this.outputEncoding=3E3;this.physicallyCorrectLights=!1;this.toneMapping=0;this.toneMappingExposure=1;this.maxMorphTargets=8;this.maxMorphNormals=4;var F=this,K=!1,P=null,V=0,ia=0,W=null,aa=null,Z=-1,ja=null,Aa=null,Xa=new ca,bb=new ca,fb=null,z=t.width,C=t.height,y=1,Q=null,T=null,ba=new ca(0,0,z,C),X=new ca(0,0,z,C),ta=!1,va=new xb,ya=!1,Pa=!1,U=
|
|
|
|
+new da,la=new w,wa={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},R=q;try{q={alpha:v,depth:u,stencil:A,antialias:B,premultipliedAlpha:D,preserveDrawingBuffer:G,powerPreference:I,failIfMajorPerformanceCaveat:E};t.addEventListener("webglcontextlost",d,!1);t.addEventListener("webglcontextrestored",e,!1);if(null===R&&(v=["webgl2","webgl","experimental-webgl"],!0===F.isWebGL1Renderer&&v.shift(),R=a(v,q),null===R)){if(a(v))throw Error("Error creating WebGL context with your selected attributes.");
|
|
|
|
+throw Error("Error creating WebGL context.");}void 0===R.getShaderPrecisionFormat&&(R.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(x){throw console.error("THREE.WebGLRenderer: "+x.message),x;}var qa,Ea,Ca,Ka,Ra,kb,mc,Oe,ph,Ld,dd,qh,Uf,Md,Qb,Hc,Xi,Yi,Zi,lc,Fb;b();var Ic=new Wi(F,R);this.xr=Ic;var $i=new Ui(F,Ld,Ea.maxTextureSize);this.shadowMap=$i;this.getContext=function(){return R};this.getContextAttributes=function(){return R.getContextAttributes()};this.forceContextLoss=
|
|
|
|
+function(){var x=qa.get("WEBGL_lose_context");x&&x.loseContext()};this.forceContextRestore=function(){var x=qa.get("WEBGL_lose_context");x&&x.restoreContext()};this.getPixelRatio=function(){return y};this.setPixelRatio=function(x){void 0!==x&&(y=x,this.setSize(z,C,!1))};this.getSize=function(x){void 0===x&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),x=new L);return x.set(z,C)};this.setSize=function(x,N,J){Ic.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):
|
|
(z=x,C=N,t.width=Math.floor(x*y),t.height=Math.floor(N*y),!1!==J&&(t.style.width=x+"px",t.style.height=N+"px"),this.setViewport(0,0,x,N))};this.getDrawingBufferSize=function(x){void 0===x&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),x=new L);return x.set(z*y,C*y).floor()};this.setDrawingBufferSize=function(x,N,J){z=x;C=N;y=J;t.width=Math.floor(x*J);t.height=Math.floor(N*J);this.setViewport(0,0,x,N)};this.getCurrentViewport=function(x){void 0===x&&
|
|
(z=x,C=N,t.width=Math.floor(x*y),t.height=Math.floor(N*y),!1!==J&&(t.style.width=x+"px",t.style.height=N+"px"),this.setViewport(0,0,x,N))};this.getDrawingBufferSize=function(x){void 0===x&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),x=new L);return x.set(z*y,C*y).floor()};this.setDrawingBufferSize=function(x,N,J){z=x;C=N;y=J;t.width=Math.floor(x*J);t.height=Math.floor(N*J);this.setViewport(0,0,x,N)};this.getCurrentViewport=function(x){void 0===x&&
|
|
(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),x=new ca);return x.copy(Xa)};this.getViewport=function(x){return x.copy(ba)};this.setViewport=function(x,N,J,O){x.isVector4?ba.set(x.x,x.y,x.z,x.w):ba.set(x,N,J,O);Ca.viewport(Xa.copy(ba).multiplyScalar(y).floor())};this.getScissor=function(x){return x.copy(X)};this.setScissor=function(x,N,J,O){x.isVector4?X.set(x.x,x.y,x.z,x.w):X.set(x,N,J,O);Ca.scissor(bb.copy(X).multiplyScalar(y).floor())};this.getScissorTest=
|
|
(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),x=new ca);return x.copy(Xa)};this.getViewport=function(x){return x.copy(ba)};this.setViewport=function(x,N,J,O){x.isVector4?ba.set(x.x,x.y,x.z,x.w):ba.set(x,N,J,O);Ca.viewport(Xa.copy(ba).multiplyScalar(y).floor())};this.getScissor=function(x){return x.copy(X)};this.setScissor=function(x,N,J,O){x.isVector4?X.set(x.x,x.y,x.z,x.w):X.set(x,N,J,O);Ca.scissor(bb.copy(X).multiplyScalar(y).floor())};this.getScissorTest=
|
|
function(){return ta};this.setScissorTest=function(x){Ca.setScissorTest(ta=x)};this.setOpaqueSort=function(x){Q=x};this.setTransparentSort=function(x){T=x};this.getClearColor=function(){return Hc.getClearColor()};this.setClearColor=function(){Hc.setClearColor.apply(Hc,arguments)};this.getClearAlpha=function(){return Hc.getClearAlpha()};this.setClearAlpha=function(){Hc.setClearAlpha.apply(Hc,arguments)};this.clear=function(x,N,J){var O=0;if(void 0===x||x)O|=16384;if(void 0===N||N)O|=256;if(void 0===
|
|
function(){return ta};this.setScissorTest=function(x){Ca.setScissorTest(ta=x)};this.setOpaqueSort=function(x){Q=x};this.setTransparentSort=function(x){T=x};this.getClearColor=function(){return Hc.getClearColor()};this.setClearColor=function(){Hc.setClearColor.apply(Hc,arguments)};this.getClearAlpha=function(){return Hc.getClearAlpha()};this.setClearAlpha=function(){Hc.setClearAlpha.apply(Hc,arguments)};this.clear=function(x,N,J){var O=0;if(void 0===x||x)O|=16384;if(void 0===N||N)O|=256;if(void 0===
|