xzw 2 years ago
parent
commit
7e374bacaa

+ 1 - 1
src/custom/materials/ModelTextureMaterial.js

@@ -285,7 +285,7 @@ let shader = {
     }
     }
             
             
    //注:gl_FragDepthEXT  修改了确实能像真实mesh那样遮挡住在后面的物体。但是为过渡时不能直接像有模型那样,和角度有关。
    //注:gl_FragDepthEXT  修改了确实能像真实mesh那样遮挡住在后面的物体。但是为过渡时不能直接像有模型那样,和角度有关。
-
+    
 export default class ModelTextureMaterial extends THREE.RawShaderMaterial { 
 export default class ModelTextureMaterial extends THREE.RawShaderMaterial { 
 	constructor( ){ 
 	constructor( ){ 
     
     

+ 6 - 5
src/custom/modules/panos/Images360.js

@@ -1976,11 +1976,12 @@ export class Images360 extends THREE.EventDispatcher{
                     for(var j=0;j<8;j++){
                     for(var j=0;j<8;j++){
                         var tile = new THREE.Mesh(geo, new THREE.MeshBasicMaterial({
                         var tile = new THREE.Mesh(geo, new THREE.MeshBasicMaterial({
                             //side:THREE.DoubleSide
                             //side:THREE.DoubleSide
+                            transparent:true,
+                            opacity : 0.4,
+                            depthTest:false,
                         }))
                         }))
                         tile.position.set(i-3.5, j-3.5, -4);
                         tile.position.set(i-3.5, j-3.5, -4);
-                        
-                        tile.material.opacity = 0.4;
-                        tile.material.transparent = true 
+                         
                         
                         
                         
                         
                         if(Potree.settings.isTest){
                         if(Potree.settings.isTest){
@@ -2030,10 +2031,10 @@ export class Images360 extends THREE.EventDispatcher{
             {
             {
                 let s = 0.1
                 let s = 0.1
                 cube.scale.set(s,s,s)
                 cube.scale.set(s,s,s)
-            }//注:由于原本的mesh上加了深度贴图,可能距离镜头比这里的近。凡是在cube以内的部分都会挡住cube导致模糊。但是应该不常见吧。
+            }//注:由于原本的mesh上加了深度贴图,可能距离镜头比这里的近。凡是在cube以内的部分都会挡住cube导致模糊。但是应该不常见吧(另外到天空的边缘也是很近)姑且depthTest=false
             
             
             this.highMapCube.visible = false; 
             this.highMapCube.visible = false; 
-            Potree.Utils.setObjectLayers(this.highMapCube, 'sceneObjects'/* 'skybox' */) //如果是skybox层,点云可见时会被遮住,depthTest为false呢? 但不会遮住场景物体
+            Potree.Utils.setObjectLayers(this.highMapCube, 'sceneObjects'/* 'skybox' */) //因它的深度是错误的,故不在skybox层渲染,影响edlRT, 而在renderOverlay时渲染覆盖。
             //console.warn('addHighMapCube')
             //console.warn('addHighMapCube')
             
             
         }    
         }    

+ 5 - 2
src/custom/viewer/map/Map.js

@@ -246,14 +246,15 @@ export class TiledMapBase extends THREE.EventDispatcher{
         this.loadingInProgress = 0
         this.loadingInProgress = 0
         
         
     }
     }
-    
+     
     get zoomLevel(){
     get zoomLevel(){
         return this._zoomLevel
         return this._zoomLevel
     }
     }
     set zoomLevel(zoomLevel){
     set zoomLevel(zoomLevel){
         if(this._zoomLevel != zoomLevel){
         if(this._zoomLevel != zoomLevel){
             this._zoomLevel = zoomLevel
             this._zoomLevel = zoomLevel
-            //this.dispatchEvent('zoomLevelChange',zoomLevel)
+            
+            this.dispatchEvent({type:'zoomLevelChange',zoomLevel})
              
              
             //if(this.name == 'map')console.log(zoomLevel,viewer.mapViewer.camera.zoom)
             //if(this.name == 'map')console.log(zoomLevel,viewer.mapViewer.camera.zoom)
         }
         }
@@ -364,6 +365,8 @@ export class TiledMapBase extends THREE.EventDispatcher{
          
          
         level = Math.max(level, 0) 
         level = Math.max(level, 0) 
         level = Math.min(level, void 0 === this.maxDepth ? 1 / 0 : this.maxDepth)  
         level = Math.min(level, void 0 === this.maxDepth ? 1 / 0 : this.maxDepth)  
+        
+        
         this.zoomLevel = level//add
         this.zoomLevel = level//add