123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596 |
- 疑难杂症 -。-
- 2024.2.4
- merge4dkk页面的window.THREE和ctrlPolygon的不是同一个,而和common.js的是同一个,导致在判断measure instanceof THREE.Object3D时为false。 另有Prism在被import时会执行两次该文件,输出的也不同,也会造成相同问题,一个在measuring一个在volumeComputer,但如果在ViewerNew不会。
- 2023.12.29
- DepthImageSampler
- let data = this.context.getImageData(0, 0, img.width , img.height ).data;
- 怎么还报错呢?!!
- (勘测华为平板)
- 错误1:Failed to execute 'getImageData' on 'CanvasRenderingContext2D': Out of memory at ImageData creation
- 错误2:cannot read properties of undefined (reading 'data')
- 解决方案: 每帧至多执行一次 该设备就不报错了
- 2023.12.15
- 反馈说地图加载慢
- https://laser.4dkankan.com/index.html?m=SS-3yiIoMBSnw&lang=zh#/data
- 不稳定,有时候会卡住不加载,有时候加载很快
- 修改了updateSubTiles中childLoaded的那一句。之前是遇到一个贴图没加载好的就停止继续执行(导致每次update至多只有一个贴图加载)。现在是放开了全部执行下去,反正也只是加到加载队列里。 效果明显提升,且不卡顿。
- 2023.12.12
- 本地版在合并站架式数据集后立即切换全景模式,首次,会无法切换。
- 原因是曾切换showPanos后又自动切回showPointcloud, 在5秒内又切回showPanos,使checkAndWaitForPanoLoad开头的withinTime生效从而return.
- 所以加了个监听,当切模式后,去掉isLoadedPanos记录
- 2023.12.08
- 本地版多个iframe崩溃
- 内存占用2G 图片7G 时,进入数据集校准崩溃 (8个点云页面) 似乎是连续setSize的原因
- 已经写了 let unfocusEvent = new CustomEvent('unfocusPage',{detail:{aaa:'hhh'}})等事件使unfocus后停止loop
- 2023.11.13
- 分享测量时地图的tile经常没加载完。场景SS-t-uMizHDioNE很明显,地图加载完了但entity俯视图几乎没加载。
- 1先把waitLoadDone里检测到加载完后延迟50ms再执行回调,没用。
-
- 2后来发现一个bug,flytoPano中duration为0时重新计算了duration,导致地图恢复位置的过程被拉长,此bug修复后恢复1中所改。 但是改完后更严重了0.0。
- 3即使加长1中的时间到500ms也一样。
-
- 4发现即使waitLoadDone监听到loadingInProgress == 0后,如果继续等待,还会继续loadDone。所以其实没加载完。
- 是因为没有连续加载吗?
- 5发现是经常存在loadingInProgress == 0后,有继续加载新的tile。原因未知(一定要上一个加载完才能计算之后的可见性?)。间隔时间能达到300ms。
- 6 waitLoadDone 改完后加载了好久 - - 半分钟以上
- 7 不截图,直接双屏展示,focus测量线,也是加载好久。 tile太小了。且开头一直加载深度图导致地图暂停下载
- 8 map 的 update的var c = this.tileSizePx / i.length() / scale中的scale之前是针对地图加的,或许对俯视图不适用,去掉。且修改bias为0.5。情况好很多。
-
-
- --------------
- 2023.6.16
- iphone支持 EXT_DEPTH 的 orthoCamera下, paraboloid_point_shape形状的 点云绘制不出。导致无法pick出点云位置
- 因为不支持的曾经加过这个:
- if(!Features.EXT_DEPTH.isSupported() && this.shape === PointShape.PARABOLOID){
- this.shape = PointShape.SQUARE ;//强行替换
- }
- 结果:在#if defined paraboloid_point_shape处添加一行:
- gl_FragDepthEXT = clamp(gl_FragDepthEXT, 0.0, 1.0);
- 这句在解决ios16全景里经常有黑块是一样的处理方式。
- --------------------------------------------------------------
- 另外将depthBasicMaterial和线的resolution改为了resolution2否则手机的遮挡错误。但是为何之前没事?且专门记录了应该使用resolution
- 2023.4.21
- SS-t-0lHRLIEqFY 场景的images360.cube抖动,导致整个画面在相机变化时扭曲
- 只有在非普通cube创建出后才会,恢复为普通cube后就正常。但数据集的test boundingbox、buildingBox、测量线一直抖动。
- 三个数据集,前两个无深度图,最后一个有,且位置很远。
- 也只有第三个数据集会产生抖动。应该是因为数字过大而精度不够。
- 但为何点云、panoLabel不会抖动,可能因为geo规则。
- 尝试将整体平移,使当前位置在原点,但特别麻烦,而且测量线正常了但cube总是不正常。放弃。
- ( 大场景距离很远的话 也抖动,只是抖得不太一样,不会扭曲和撕裂)
-
-
- 2023.2.17
- 现象:转动过程中,面对相同的一块点云,有时候很流畅,有时候反向再转回去超级卡,但numVisiblePoints并无增加。
- 如数据:
- NAME | MIN | MEDIAN | MAX | AVE | SAMPLES
- ----------------------------------------------------------------------
- loop | 0.700 | 7.300 | 11.500 | 7.322 | 50
- loopWaitNext | 6.200 | 10.300 | 41.500 | 13.804 | 49
- mapRender | 0.200 | 0.300 | 0.600 | 0.321 | 47
- numVisiblePoints | 59.614 | 59.939 | 59.996 | 59.934 | 47
- render | 0.000 | 6.300 | 9.500 | 6.134 | 50
- renderDefault | 4.500 | 6.300 | 9.400 | 6.519 | 47
- renderNodes | 1.300 | 2.200 | 3.500 | 2.233 | 94
- renderOctree | 0.000 | 0.000 | 0.100 | 0.027 | 94
- renderOverlay | 0.100 | 0.300 | 0.500 | 0.306 | 47
- update | 0.500 | 0.900 | 1.700 | 0.958 | 50
- updateClouds | 1.100 | 1.200 | 1.800 | 1.340 | 47
- visiStructure | 0.000 | 0.100 | 0.300 | 0.140 | 47
- visibleNodes | 536.000 | 544.000 | 554.000 | 544.426 | 47
- NAME | MIN | MEDIAN | MAX | AVE | SAMPLES
- ----------------------------------------------------------------------
- loop | 5.700 | 6.500 | 9.300 | 6.952 | 21
- loopWaitNext | 40.700 | 43.500 | 44.200 | 43.100 | 20
- mapRender | 0.200 | 0.300 | 0.400 | 0.295 | 21
- numVisiblePoints | 59.880 | 59.959 | 59.999 | 59.955 | 21
- render | 4.700 | 5.300 | 8.100 | 5.781 | 21
- renderDefault | 4.700 | 5.300 | 8.100 | 5.776 | 21
- renderNodes | 1.300 | 1.700 | 2.900 | 1.867 | 42
- renderOctree | 0.000 | 0.000 | 0.100 | 0.033 | 42
- renderOverlay | 0.200 | 0.300 | 0.300 | 0.257 | 21
- update | 0.600 | 0.900 | 1.200 | 0.948 | 21
- updateClouds | 1.100 | 1.400 | 1.800 | 1.405 | 21
- visiStructure | 0.100 | 0.200 | 0.200 | 0.152 | 21
- visibleNodes | 528.000 | 533.000 | 540.000 | 533.286 | 21
- 这两个数据numVisiblePoints、visibleNodes相差很小,但是渲染时间却迥异,为何?
- 再怎么卡,loopWaitNext也只需要等待一轮回,也就是小于16.6*2即可,这里却达到40!
- 2023.2.7
- 发现viewer.update函数cpu高(降4倍),因为sidebar中某个函数所致。在正式laser工程中不会用到。
- 改写renderOctree, 所有pointcloud只执行一次可以节省很多时间,但 adaptive型的点云遇到问题,无法支持。 所以点云编辑不能使用adaptive
- 2023.1.4
- cpu过高:(静止时)
- 全景模式: 30-40 希望降到20以下 只绘制一次skybox:20-30 不渲染overlay: 15-35
- 点云模式: 60
- 原本potree在无点云时也有30的cpu (15-36波动)
- 若不渲染,cpu范围:5-20, 有时会到60咋回事。
- 不 loop, cpu: 0
- 仅update: cpu: 10
- 仅render: cpu: 25 (全景)
- matterport无抗锯齿, 但potree关闭抗锯齿并无变化
- 结论:
- cpu高的原因:1渲染到rtEDL,很多depthMaterial的都需要。 2 renderOverlay的,如marker。
- 3 点云加载、遍历一定会耗cpu (点云的优势究竟是什么,比4dkk好在哪?)
- navvis居然全景和点云都能做到0,因为静止、画面无改变时 不渲染 invalidateScene
- 但是这样的好处似乎很小:1 降低电池损耗 2或许能在不渲染时加快资源加载。而画面一旦动起来,cpu还是很高。
-
- 结局: 参照它们也做了静止时不渲染 viewer.dispatchEvent('content_changed')
-
-
-
-
- 2022.12.30
- 全景漫游卡顿(持续了几个月的问题)
- 特征:所有漫游点均是首次飞向它时流畅,但回头再走就容易卡。
- 调试:不checkAndWaitForPanoLoad 然后updateCube 不卡。 和skybox的geo变化无关,不改geo也卡。
- 进一步发现: 卡的时候uploadTile LoadComplete 经常到了2048。令只加载到1024不卡。所以似乎是加载越多tiles越卡。
- 解决方案:maxNonBaseUploadsPerFrame由2降为1。也就是在飞行时每帧uploadTiles的个数降低。另外飞行时refreshUploadInterval的间隔增加。
- 效果:确实降低了卡顿感。
- 还有疑问:为何4dkk不卡呢?只是在cubeRenderTarget上draw而已呀。 大场景因模型复杂所以本身就卡。
- 目前浏览器卡顿情况:
- 良好:chrome、 edge
- 微卡: qq 全景模式
- 卡:opera
- 很卡: firefox(点云模式也)
- 2022.12.13
- 漫游时经常要加载一两秒。 一开始以为是uploadTile加载问题,后来发现确实图没加载好,downloaded=false
- 原来是populateScoredPanos时的distanceSquared函数有问题
- 2022.11.24
- 全景模式为什么有时候变卡:
- 1 导航会一直加载点云,因一直getPointByScreen (2d发来的请求)
- 2 将漫游模式的visibleNodes清空了,仅在不支持depthTex时length才不为0
- 2022.8.30
- 融合页面的分屏,为何在多次缩放后易卡顿?
- 为什么加载点云时,在right设置为active=false时无法渲染?删除点云也不行。但是此时将top.width设置为1,也就是禁止了scissorTest,就没问题
- 且reticule所在之处能刷新画面。
- 2022.8.22
- 1
- glb 显示出的颜色比图片原本的颜色暗,但换成颜色没问题, obj图没问题。
- 自己创建个mesh贴上glb的贴图也是暗。 可是官方编辑器glb没问题。
- 换DepthBasicMaterial可以 why?
- 最后解决方案:自己写了个简单的BasicMaterial, 只贴贴图
- 2 glb 大文件经常加载不成功
- 在本地demo未出现。 Content-Type: application/octet-stream 这和本地加载不同:Content-Type: model/gltf-binary
- DOMException: The source image could not be decoded.
- 将 CanvasTextrue ImageBitmapLoader 换成普通的texture后, 又容易崩溃。
- 为什么要用CanvasTextrue 呢?我直接换成普通Texture了
- 2022.7.22
- 闪烁的原因? 之前出现过警告且黑屏的情况,但鼠标滑动后恢复
- [.WebGL-0000074204D3AA00] GL_INVALID_OPERATION: Must have element array buffer bound.
- 延迟过渡或不修改geo时也会闪烁
- 在外侧 感觉有碎片,碎片是因为修改了深度的原因,但是去掉一样闪烁。
- hasDepthTex明明会改变材质的样子,但是漫游时没感觉?好像因为cameraHeight1不同 vWorldPosition0
- 在非当前geo的点位下 bump就能有碎片感 why 似乎是从外侧就会
- 放大后还是闪烁,但改善一些。加延迟再好一些。
- 似乎在出门时容易闪烁
- 改为球体 不换geo 也闪烁
- 改为cube 不换不闪 换也闪
- 去掉camera_changed发送就可以了!!
- 今天不闪烁了 但是有时候很卡 (莫名其妙)
-
- 似乎会出 贴图碎片加载。 黑块
- 又警告[.WebGL-000020FC00B72900] GL_INVALID_OPERATION: Must have element array buffer bound.
- 不使用getIntersect 中改变相机的操作 就不会。 现在在hasDepthTex时还蛮流畅的
- 但即使不改变该相机也会,所以应该是pick时render出问题。可能没还原状态。 可之前经常要用到pick
- 即使不更改geometry,只pick,也会出现,但频率降低。 完全不使用getIntersect但过渡前摆动鼠标也会, 旧代码偶现
- 找不到原因,暂时只能保证有深度图时不执行点云pick
- 但没有深度图的依然存在这个问题,且过渡后会黑屏闪烁一下
- 2022.7.8
- 为何每次截图都不一样?? 和等待时长有关系?
- 点云位置一样,但稀疏程度不同。
- 平面图显示的数据集还是不同 发现atDatasets和pdf显示的不同,但两次截图楼层一致,第一次多了个buildchagne到其他楼层
- 可能因为在分屏后移动了相机,但是更新building只500ms一次
- 为何相同位置pointInWhichEntity得到的entity不同? 其中一个多了次非force currentDataset也不一样!
- 是因为Common.intervalTool.isWaiting延时了并没有立即执行!
-
- 2022-05-12
-
- 为什么lineMaterial 在四屏中 setSize后,遮挡失效,要移动一下镜头才恢复? 但是在双屏中没事。 updateDepthParams()也没用。
- 只要有第三个viewport高度不为0,就会这样。 那估计是edl在别的屏幕渲染了
- 因为不同viewport需要用不同的rtEDL
- 2022-04-24
- ios 15.4.1 渲染问题,好像clear有时失效
- 相机离远后就留下了没clear的画面
- 全景图显示不出
- viewer.dispatchEvent({type: "render.begin", viewer: viewer, viewport:view, params })这句 删除后改善很多, 或者sprite 的applyMatrix不执行(如果执行,在不改变位移时也正常)
- 但同时也要删除 if(width == 0 || height == 0)return 但只要在this.renderer.render(this.scene.scene, camera); 之后return也可
-
- 在loop中 延迟渲染也一样有问题
- 只渲染overlay且不clear时,电脑是不clear的状态但是这个手机竟然自动clear了,全景图也能显示出,而且没有执行renderer.clear,也无gl.clear。执行renderer.clear反而有残影
- 但clearcolor确实没有生效
- 地图正常(使gl.clear非正常执行 )
-
- 用地图的renderer在地图渲染三维的场景clear也正常
- 是不是有类似setSize的函数可以起到clear的作用? 没找到
- 发现测量线最能引起这个bug,然后就发现navvis测量也这样了。
- 但具体哪一句造成一开始加载就
- 专注一下后续系统或者navvis是否解决。暂时屏蔽了EXT_frag_depth
-
- 2022-04-18
- 4dkk上传下载页面 上传全景图后首次刷新会有黑块 (只在上传下载页面才会)
- (!i || i && i === r.tile.panoId) && r.level 这个报错,原因未知,修改了一下,不报错但还是会黑块
- 同时出现automation没有init,原因是图没加载好,所以startInside没有成功回调
- 需要关闭浏览器的禁止缓存,否则bug出现不了
- 虽然不知道为什么图加载顺序和通常的不一样了,但终结原因是图加载的问题,故而修改了下uploadTile,增加LodDescripor.uploaded,可控性更强;但希望ignore不会造成有一部分模糊这种情况
-
-
-
- 2022-04-15
- 该双数据集场景全景模式拖拽画面时扭曲抖动特别厉害,猜测是因为boundingbox非常大导致skybox非常大?
- viewer.images360.cube.scale : 22692.381042028544, y: 1525345.1015381122, z: 7.563655000000001,
- xyz改为一样 ,后不抖动了, 但是旋转时会有黑影闪现。
- far增大, 黑影消失, 但是能看到贴图水平或垂直有一条白线
- 把位置放到相机的位置后 就正常了!
- 综上猜测是精度问题?所以最好是居中于相机的正方体?可过渡怎么办
- http://localhost:8080/index.html?m=t-OdiKZBDVL0#/data
- 但是这样bump时几乎没有移动,左右bump不可能用fov
- 结论:修改了updateCube函数
- 2022-03-23
- 四个屏的mainview中的reticule位置改变特别慢(intersect是错的)
- ·四个屏都这个也一样 把beforeRender去掉也是 但是双屏不会
- ·左上角 右下角屏也会了?!
- ·在多个屏交替hover久一点就会明显 像卡顿
- ·如果mianView以外的都active = false 就正常。只要放出一个,就不正常
- ·如果地图的noPointcloud没有一开始设置为false,双屏也会! 所以和点云渲染有关
- ·如果没有hover到别的viewport就正常
- ·会不会是nodes的切换问题
- ·加了这句就行了Potree.updatePointClouds
- ·3.31发现bug又出现了了, 是因为修改了四个屏幕的点云质量,要在pick前执行一下beforeRender
- 子问题:为什么pick截图保存到的是一整张图?而我自己改成pickState.renderTarget.scissor 这种绘制的就不会,但是清除也只清除当前区域了。
- ·发现是因为之前绘制的没被清除,只有改变了画面才会清除。可是已经clear了呀。(猜测是因为这个关系所以会互相影响)
- ·把clear提前到scissor之前就和原代码效果一致了
- ·但是改好了这个还是会,而且即便只刷新要读取的区域,也不影响才对。
- 2022-03-22
- 为什么到另一个数据集cursor不准确。因为数据集不在000吗
- ·单个数据集校准后也会,可能因为没更新node的matrixWorld(所以要在Alignment中就实时更新)
- 见:node.sceneNode.matrixWorld.multiplyMatrices(pointcloud.matrixWorld, node.sceneNode.matrix);
- ·方向就也不对
- ·是reticule的normal乘错了矩阵
- 2022-03-18
- 出现过marker无法松开的情况(加载的数据),但是再选中房间又可以了
- ·是dropMarker时 因为有相同点 return continueDrag了
- ·数据里竟然有五个点,后两个相同。应该是添加时没删除
- ·是绘制完前删最后一个点后没有发送update
- 2022-03-03
- 有时候加载全景图一直loading。
- ·六张512的有一张未打印出加载成功(但实际在网络里查看是加载了的,tileDownloader也有值),然后就去加载更高分辨率去了,没发送成功。
- ·没通知成功的原因是uploadTile那张512时已经加载好了子集1024,就跳过了。
- ·原来是预加载的dir写错了。但是只是预加载的话大概率不会发生此bug而已。
- ·但万一先关闭了全景,在一个没有预加载的点位上打开全景,就可能发生bug
- ·问题的关键在于4dkk一定先uploadTile低分辨率的,而这里乱序了
- ·发现失败的原因是forceQueue 512的加载太慢了,为什么不是一开始就有6个呢,不到6个就没了然后就下载1024去了。难道4dkk不会吗
- ·是先开始下载的512,但是1024的先下载完毕。
- ·4dkk 也可能因为uploadTile失败,而不发送完成消息,通常都是1024的。
- forceQueue在tiledownloader和panorenderer都有。
- forceQueue 的应该就是优先下载的吧,按理说一定要先下载完才能下载后面的在
- 在panoRenderer中 uploadQueues 是候补队列 ,在tileDownloader里priorityQueue是候补队列
- tiledownloader下载完成会触发tiledownloader开始uploadTile.
-
- ·试不出来为什么4dkk会先下载完512了。改个代码,确保512的都下载完后才能下载其他的。修改了tileDownloader的processQueueForDownloading
-
- --更早前:
- 关于测量线截图1024时常get不到的情况:(奇怪为什么之前不会这样?)
- 原因: uploadTile中,如果某个tile的子集(如1024的子集是四个2048)已经加载好了,那么该tile就不会触发加载,也就不会发送加载成功的消息。
- 所以最好还是只请求加载512.除非首次加载就请求高分辨率。(是不是我写漏了啥?因为4dkk 飞进去不会)
- 4dkk中也可能不一定发送1024的完成信息
- 2022-03-02
- 初始画面还是会转一下 t-1aw99jhDgB#/setup 在未设置过初始画面的场景才会
- ·又好像是某些角度会算错。
- ·原来是set rotation(rotation)函数有问题,没有考虑到y也有值。
- 触屏放大镜里的点云为何那么大???
- ·只要一转为触屏就这样 pointsize和什么有关,会重新计算吗
- ·自适应时的触屏devicePixelRatio是2!!
- ·shader中计算pointsize时最关键的参数是uScreenHeight。由于我在渲染屏幕点云时乘了devicePixelRatio,所以无论devicePixelRatio多少看起来都一样大;但是放大镜也被乘了devicePixelRatio,所以放大了。它的devicePixelRatio应该永远为1
- ·考虑修改uScreenHeight为resolution2.y , 并取消乘以devicePixelRatio
-
- 低质量点云测量怎么点不上?
- ·e.intersectPoint 居然没有
- ·好像是因为改了shader后resolution没赋值,都是0,而电脑会给一个最小pointsize,手机可能更小吧? 所以pick不出。赋值就ok了
- 2022-03-01
- (测量-移动端)移动端无法进行测量,无法确定测量起点
- ·该手机iphone7plus 竟然加载了两个点云! 但是本地版却不会。 等中午重新发布后看看。
- ·发现spacing有误 中心点 boundsize有误 但数据集id没错。刷新缓存或许可以。 或许是cloud.js是旧的?
- ·清除缓存后正正常了。因为重算了场景,所有点云数据会修改。 加个后缀
-
- 2022-02-25
- 关于 丽篮电脑和我的手机t-FhDWmV5xur场景在海拔模式下 某个漫游点刚进入场景全景图有一面(立方体中的一面)亮度超高的bug:
- ·只有带了token才会 或许是因为token占用了什么时间?
- https://uat-laser.4dkankan.com/uat/index.html?m=t-FhDWmV5xur&lang=zh&token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxODgxOTI3MjIwOCIsInVzZXJOYW1lIjoiMTg4MTkyNzIyMDgiLCJpYXQiOjE2NDU3NTI0MzYsImp0aSI6IjYwYTJiYjlhLTIyN2MtNGVhMi1iNWFkLWZhODIwMDk3ZDU3MSJ9.mlUUeIyPVYLGqeLGuu_gZzkDwotpgb_704BNe2kPlPY#/
- 开头多了DevTools 无法加载来源映射:无法加载 webpack:///spug/spug_api/repos/29_1660_20220224180315/node_modules/mitt/dist/mitt.mjs.map 的内容:HTTP 错误:状态代码 404,net::ERR_UNKNOWN_URL_SCHEME 等打印
- ·发现此场景的部分漫游点的id和originID不一致。 且原4dkk场景漫游点id从0-24(但少一个18), 而此激光场景缺少了originId为0 的点。
- 对应:
- id originID
- 0 -- 19 (多了一个19,正确应该是0。故而贴图错误)
- 18 -- 19 (对的)
- 19 -- 20
- 20 -- 21
- 21 -- 22
- 22 -- 23
- 23 -- 24
- 刷新id又正常了???
- 手机上看不发白了(电量原因吗) 手动改data[0].file_id = '00019' 也不发白
- 手机加了test就可以,不加就会有问题。
- 我发现和海拔没有关系,只和透明度有关系。只要透明度不是1,刷新就会这样(所以之前的海拔是错误信息,为什么我没自己验证一下呜呜)
- 奇怪后面怎么没记录了?是不是被覆盖了?解决方案好像是在potreeRenderer里加了 gl.disable(gl.BLEND) 等 恢复为不透明
- 2022-02-24
- 关于iphone测试机旋转屏幕or点击小地图后mainViewer setSize导致webgl context lost 的bug:
- ·修改canvas.width height就会
- ·不渲染的话不会。
- ·仅显示地图、隐藏场景才会
- pRenderer.clearTargets(params); pRenderer.render(params); 这两句去掉就不会
- 第二句主要是执行到点云渲染 renderOctree
- setSize后重新渲染的时候才会崩溃,也就是延迟多久渲染就延迟多久崩溃
- ·直接把this.rtEDL.setSize去除居然不崩。但如果默认设置DepthTexture宽高不为undefined or 0 或和rtEDL大小不一样,也会崩。 延迟resize也不行,所以应该是大小不匹配的问题。
- 结论:无解了,直接去掉rtEDL吧。反正崩溃的手机刚好EXT_frag_depth不可用,所以用不到rtEDL
- 关于iphone离开网页一段时间后再回来,重启(or显示内存不足)的bug:
-
- ·隧道。。第一次测会,第二次就不会了奇怪。。。(但有时候打开是报网络错误)
- ·我的手机是可能白屏(清除缓存后不会了)
- ·微信会(可能是应用问题,因为应用也容易关闭)
- ·无解
- 2022-02-23
- 关于iphone测试机创建不了potree中的program:
- ·t-6UoYGXbWhi 这个场景(最不容易崩溃 只有一个pano)的无此问题
- ·即使把mapViewer禁止渲染,使potree的program是第一个创建的program也不行
- ·有一个场景有时候可以打开 https://uat-laser.4dkankan.com/uat/index.html?m=t-6UoYGXbWhi
- ·和点位无关,删除全部点也不行
- ·不渲染点云,只创建three.js中的program也失败
- ·binaryLoader中load(node){ 不加载点云也失败
- ·延迟start也不行
- ·在开始创建gl的时候获取是可以的! 但在循环渲染时,到刚开始渲染点云之前为false(怎么知道要渲染了?)
- 好像不是edl渲染才报错的。 是在此之前有其他的东西报错了
-
- 是这个。。。this.shadowMap = new PointCloudSM(this.viewer.pRenderer);
-
|