3 次代碼提交 229ac2df7c ... 552cef7632

作者 SHA1 備註 提交日期
  xzw 552cef7632 fix: webgl1 bug-- round 1 月之前
  xzw 641d1270e8 1 2 月之前
  xzw fd237968da 6 2 月之前
共有 3 個文件被更改,包括 20 次插入3 次删除
  1. 4 1
      src/custom/materials/ModelTextureMaterial.js
  2. 15 2
      src/custom/start.js
  3. 1 0
      src/custom/viewer/map/MapViewer.js

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

@@ -463,7 +463,10 @@ export default class ModelTextureMaterial extends THREE.RawShaderMaterial {
             defines.UnableMixTwoDepth = 1  //该系统在开启硬件加速后,webgl容易出bug。如过渡时黑屏报错,因无法将两个depth叠加。见bug记录
         }  
         let {vs,fs} = Common.changeShaderToWebgl2(shader.vertexShader, shader.fragmentShader, 'RawShaderMaterial')
-        
+        if(!Potree.settings.isWebgl2){
+            defines['round(x)'] = 'floor(x + 0.5)'   //webgl1 unsupport round
+            fs = fs.replace('int(round(color.g * 255.0)) << 8', 'int(round(color.g * 255.0 * pow(2.0, 8.0)))')  //unsupport <<
+        }
         super({
             fragmentShader: fs,
 			vertexShader: vs,

+ 15 - 2
src/custom/start.js

@@ -221,6 +221,9 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
             
             console.log('allLoaded')
             
+             
+            
+            
             viewer.addTube({
                 't-8KbK1JjubE':[ 
                     {//地上管子 黄色 
@@ -278,6 +281,10 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
             })
             
             viewer.dispatchEvent('allLoaded')
+            
+             
+            
+            
         }
         
         
@@ -413,8 +420,14 @@ export function start(dom, mapDom, number ){ //t-Zvd3w0m
     } 
     
     
-    
-    number && Potree.loadDatasets(Potree.loadDatasetsCallback) 
+    if(number){
+        if(window._datasetList){
+            Potree.loadDatasetsCallback(window._datasetList)
+        }else{
+            Potree.loadDatasets(Potree.loadDatasetsCallback) 
+        }
+         
+    }
     /* 
     //调试用,加载多个本地
     Potree.loadDatasetsCallback([

+ 1 - 0
src/custom/viewer/map/MapViewer.js

@@ -318,6 +318,7 @@ export class MapViewer extends ViewerBase{
     
     updateCursor(){
         //console.log('pos', viewer.mainViewport.camera.position.toArray() ) 
+        if(!this.cursor.visible)return
         var scale = math.getScaleForConstantSize( {//规定下最小最大像素
             minSize : 80,  maxSize : 200,   nearBound : initCameraFeildWidth*0.1 , farBound : initCameraFeildWidth*2,
             camera:this.camera , position: this.cursor.getWorldPosition(new THREE.Vector3()),