!function(e){var i={};function t(r){if(i[r])return i[r].exports;var n=i[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}t.m=e,t.c=i,t.d=function(e,i,r){t.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,i){if(1&i&&(e=t(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var n in e)t.d(r,n,function(i){return e[i]}.bind(null,n));return r},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},t.p="",t(t.s=1)}([function(e,i){var t=Cesium.Primitive._modifyShaderPosition;Cesium.Primitive._modifyShaderPosition=function(e,i,r){i=t(e,i,r);return e.isCameraVideo&&-1===i.indexOf("VTXF_CAMERA_VIDEO")&&(i=i.replace("void main()","\n #ifdef VTXF_CAMERA_VIDEO\n uniform mat4 u_boxMV;\n #endif\n\n void main()\n ").replace("gl_Position = czm_depthClampFarPlane(czm_modelViewProjectionRelativeToEye * position);","\n #ifdef VTXF_CAMERA_VIDEO\n\n position.y -= 1.001;\n position = u_boxMV * position;\n position.xyz /= position.w;\n position.w = 1.0;\n gl_Position = czm_depthClampFarPlane(czm_projection * position);\n\n #else\n\n gl_Position = czm_depthClampFarPlane(czm_modelViewProjectionRelativeToEye * position);\n\n #endif\n ").replace("vec4 position = czm_computePosition();","\n vec4 position = czm_computePosition();\n #ifdef VTXF_CAMERA_VIDEO\n position = vec4(position3DLow + position3DHigh, 1.0);\n #endif\n ")),i};var r=Cesium.ShadowVolumeAppearance.hasAttributesForTextureCoordinatePlanes;Cesium.ShadowVolumeAppearance.hasAttributesForTextureCoordinatePlanes=function(e){return!!Cesium.defined(e.isCameraVideo)||r(e)};var n=Cesium.ShadowVolumeAppearance.prototype.createFragmentShader;Cesium.ShadowVolumeAppearance.prototype.createFragmentShader=function(e){var i=n.bind(this)(e);if(this._appearance.isCameraVideo){["TEXTURE_COORDINATES","CULL_FRAGMENTS","USES_ST"].forEach((function(e){var t=i.defines.indexOf(e);-1!==t&&i.defines.splice(t,1)})),i.defines.push("VTXF_CAMERA_VIDEO"),i.sources.forEach((function(e,t){i.sources[t]=e.replace("void main(void)","\n #ifdef VTXF_CAMERA_VIDEO\n uniform mat4 u_inverseBoxMV;\n #endif\n\n void main(void)\n ").replace("czm_material material = czm_getMaterial(materialInput);","\n\n #ifdef VTXF_CAMERA_VIDEO\n vec4 shadowPosition = u_inverseBoxMV * eyeCoordinate;\n shadowPosition.xyz = shadowPosition.xyz / shadowPosition.w;\n materialInput.st = shadowPosition.xy * 0.5 + 0.5;\n #endif\n\n czm_material material = czm_getMaterial(materialInput);\n ")}))}return i};var o=Cesium.ShadowVolumeAppearance.prototype.createVertexShader;Cesium.ShadowVolumeAppearance.prototype.createVertexShader=function(e,i,t,r){var n=o.bind(this)(e,i,t,r);if(this._appearance.isCameraVideo){["TEXTURE_COORDINATES","CULL_FRAGMENTS","USES_ST"].forEach((function(e){var i=n.defines.indexOf(e);-1!==i&&n.defines.splice(i,1)})),n.defines.push("VTXF_CAMERA_VIDEO")}return n}},function(e,i,t){"use strict";t.r(i);t(0);var r=new Cesium.Cartesian3;var n=function(e){var i=new Cesium.Cartesian3(-1,-1,-1),t=new Cesium.Cartesian3(1,1,1);i.y+=1.001,t.y+=1.001;var n=new Float64Array(24);n[0]=i.x,n[1]=i.y,n[2]=i.z,n[3]=t.x,n[4]=i.y,n[5]=i.z,n[6]=t.x,n[7]=t.y,n[8]=i.z,n[9]=i.x,n[10]=t.y,n[11]=i.z,n[12]=i.x,n[13]=i.y,n[14]=t.z,n[15]=t.x,n[16]=i.y,n[17]=t.z,n[18]=t.x,n[19]=t.y,n[20]=t.z,n[21]=i.x,n[22]=t.y,n[23]=t.z;var o=new Cesium.GeometryAttributes;o.position=new Cesium.GeometryAttribute({componentDatatype:Cesium.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:n});var s,a=new Uint16Array(36);a[0]=4,a[1]=5,a[2]=6,a[3]=4,a[4]=6,a[5]=7,a[6]=1,a[7]=0,a[8]=3,a[9]=1,a[10]=3,a[11]=2,a[12]=1,a[13]=6,a[14]=5,a[15]=1,a[16]=2,a[17]=6,a[18]=2,a[19]=3,a[20]=7,a[21]=2,a[22]=7,a[23]=6,a[24]=3,a[25]=0,a[26]=4,a[27]=3,a[28]=4,a[29]=7,a[30]=0,a[31]=1,a[32]=5,a[33]=0,a[34]=5,a[35]=4;for(var u=0;u<36;u+=3)a[u]=a[u]^a[u+2],a[u+2]=a[u]^a[u+2],a[u]=a[u]^a[u+2];e&&((s=new Uint16Array(24))[0]=0,s[1]=1,s[2]=1,s[3]=2,s[4]=2,s[5]=3,s[6]=3,s[7]=0,s[8]=4,s[9]=5,s[10]=5,s[11]=6,s[12]=6,s[13]=7,s[14]=7,s[15]=4,s[16]=0,s[17]=4,s[18]=1,s[19]=5,s[20]=2,s[21]=6,s[22]=3,s[23]=7);var m=Cesium.Cartesian3.subtract(t,i,r),c=.5*Cesium.Cartesian3.magnitude(m);return new Cesium.Geometry({attributes:o,indices:e?s:a,primitiveType:e?Cesium.PrimitiveType.LINES:Cesium.PrimitiveType.TRIANGLES,boundingSphere:new Cesium.BoundingSphere(Cesium.Cartesian3.ZERO,c)})};const o=new Cesium.BoundingSphere(Cesium.Cartesian3.ZERO,.5);var s=function(e,i,t){var r=o;Cesium.Cartesian3.clone(i,r.center);const n=e.camera.getPixelSize(r,e.drawingBufferWidth,e.drawingBufferHeight);if(!(n<=0))return t*n},a="\nattribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec4 color;\nattribute float batchId;\n\nvarying vec4 v_color;\n\nuniform mat4 u_boxMV;\n\nvoid main()\n{\n v_color = color;\n\n vec4 p = vec4(position3DHigh + position3DLow, 1.0);\n p.y -= 1.001;\n p = u_boxMV * p;\n p.xyz /= p.w;\n p.w = 1.0;\n gl_Position = czm_projection * p;\n}\n";function u(e){if(!Cesium.defined(e.inverseViewMatrix)||!Cesium.defined(e.videoElement))throw new Error("XbsjCameraVideo error!");var i=Cesium.defaultValue(e.showHelperPrimitive,!1);this.inverseViewMatrix=Cesium.Matrix4.clone(e.inverseViewMatrix),this._inverseViewMatrix=new Cesium.Matrix4,Cesium.defined(e.frustum)?this.frustum=e.frustum.clone():this.frustum=new Cesium.PerspectiveFrustum({fov:Cesium.Math.toRadians(30),aspectRatio:1.333,near:10,far:100}),this._boxMV=new Cesium.Matrix4,this._primitiveModelMatrix=new Cesium.Matrix4,this._inverseBoxMV=new Cesium.Matrix4;var t=this,r={u_inverseBoxMV:function(){return t._inverseBoxMV},u_boxMV:function(){return t._boxMV}},o=new Cesium.Material({fabric:{type:"XbsjCameraVideo",uniforms:{image:""},components:{diffuse:"texture2D(image, fract(materialInput.st)).rgb"}}});o.uniforms.image=e.videoElement;var s=new Cesium.MaterialAppearance({material:o,closed:!1});s._vertexFormat=Cesium.VertexFormat.POSITION_ONLY,s.isCameraVideo=!0;var u=new Cesium.ClassificationPrimitive({geometryInstances:new Cesium.GeometryInstance({geometry:n(),attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1,0,0,1)),show:new Cesium.ShowGeometryInstanceAttribute(!0),isCameraVideo:new Cesium.ShowGeometryInstanceAttribute(!0)},id:"volume"}),classificationType:Cesium.ClassificationType.BOTH,_uniformMap:r,appearance:s,asynchronous:!1,compressVertices:!1,allowPicking:!1});u.isCameraVideo=!0,Object.defineProperties(u,{_sp:{set:function(e){if(this.__sp!==e){if(e){var i=e,t=i.vertexShaderSource;-1===t.defines.indexOf("VTXF_CAMERA_VIDEO")&&t.defines.push("VTXF_CAMERA_VIDEO")}this.__sp=i}},get:function(){return this.__sp}},cameraInfo:{get:function(){return this._cameraInfo}}}),this._primitive=u;var m=new Cesium.PerInstanceColorAppearance({closed:!1,flat:!0,translucent:!1,vertexShaderSource:a});m.uniforms={u_boxMV:this._boxMV};var c=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:n(!0),attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color(1,0,0,1)),show:new Cesium.ShowGeometryInstanceAttribute(!0)},id:"cameraVideoHelper"}),appearance:m,asynchronous:!1,compressVertices:!1,cull:!1,show:i});this._helperPrimitive=c,this._projectionMatrix=new Cesium.Matrix4,this._inverseViewProjectionMatrix=new Cesium.Matrix4,this._viewProjectionMatrix=new Cesium.Matrix4,this.show=!0}u.prototype.update=function(e){if(this.show){{this._scratchCartesian=this._scratchCartesian||new Cesium.Cartesian3,this._scratchBS=this._scratchBS||new Cesium.BoundingSphere;const i=Cesium.Matrix4.getTranslation(this.inverseViewMatrix,this._scratchCartesian),t=this.frustum.far,r=this._scratchBS;if(Cesium.Cartesian3.clone(i,r.center),r.radius=t,e.cullingVolume.computeVisibility(r)===Cesium.Intersect.OUTSIDE)return;const n=e.camera;if(n&&n.getPixelSize){if(s(n._scene,r.center,20)>r.radius)return}}var i=Cesium.Matrix4.equals(this.frustum.projectionMatrix,this._projectionMatrix),t=Cesium.Matrix4.equals(this.inverseViewMatrix,this._inverseViewMatrix);if(i||Cesium.Matrix4.clone(this.frustum.projectionMatrix,this._projectionMatrix),t||Cesium.Matrix4.clone(this.inverseViewMatrix,this._inverseViewMatrix),!i||!t){var r=this._inverseViewProjectionMatrix;Cesium.Matrix4.inverse(this._projectionMatrix,r),Cesium.Matrix4.multiply(this._inverseViewMatrix,r,r);var n=this._viewProjectionMatrix;Cesium.Matrix4.inverse(r,n);var o=this._primitiveModelMatrix;Cesium.Matrix4.fromUniformScale(this.frustum.far,o),Cesium.Matrix4.multiply(this._inverseViewMatrix,o,o),this._helperPrimitive.modelMatrix=this._primitiveModelMatrix}this._primitive._primitive&&(this._primitive._primitive.modelMatrix=this._primitiveModelMatrix),Cesium.Matrix4.multiply(e.camera.viewMatrix,this._inverseViewProjectionMatrix,this._boxMV),Cesium.Matrix4.multiply(this._viewProjectionMatrix,e.camera.inverseViewMatrix,this._inverseBoxMV),this._primitive.update(e),this._helperPrimitive.update(e)}},Cesium.defineProperties(u.prototype,{showHelperPrimitive:{set:function(e){this._helperPrimitive.show=e},get:function(){return this._helperPrimitive.show}},videoElement:{set:function(e){this._primitive.appearance.material.uniforms.image=e},get:function(){return this._primitive.appearance.material.uniforms.image}}}),u.prototype.isDestroyed=function(){return!1},u.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._helperPrimitive=this._helperPrimitive&&this._helperPrimitive.destroy(),Cesium.destroyObject(this)};var m=u;function c(e){if(!Cesium.defined(e))throw new DeveloperError("viewer is required.")}Cesium.XbsjCameraVideo=m,Cesium.xbsjCameraVideoMixin=c;i.default=c}]);