potree-core 1.0.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +64 -64
- package/README.md +198 -200
- package/dist/constants.d.ts +14 -0
- package/dist/dem-node.d.ts +17 -0
- package/dist/features.d.ts +6 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +1 -0
- package/dist/loading/binary-loader.d.ts +35 -0
- package/dist/loading/index.d.ts +3 -0
- package/dist/loading/load-poc.d.ts +14 -0
- package/dist/loading/types.d.ts +2 -0
- package/dist/loading2/OctreeGeometry.d.ts +23 -0
- package/dist/loading2/OctreeGeometryNode.d.ts +40 -0
- package/dist/loading2/OctreeLoader.d.ts +109 -0
- package/dist/loading2/PointAttributes.d.ts +44 -0
- package/dist/loading2/WorkerPool.d.ts +9 -0
- package/dist/loading2/load-octree.d.ts +2 -0
- package/dist/materials/blur-material.d.ts +11 -0
- package/dist/materials/classification.d.ts +2 -0
- package/dist/materials/clipping.d.ts +12 -0
- package/dist/materials/color-encoding.d.ts +4 -0
- package/dist/materials/enums.d.ts +37 -0
- package/dist/materials/gradients/grayscale.d.ts +2 -0
- package/dist/materials/gradients/index.d.ts +7 -0
- package/dist/materials/gradients/inferno.d.ts +2 -0
- package/dist/materials/gradients/plasma.d.ts +2 -0
- package/dist/materials/gradients/rainbow.d.ts +2 -0
- package/dist/materials/gradients/spectral.d.ts +2 -0
- package/dist/materials/gradients/vidris.d.ts +2 -0
- package/dist/materials/gradients/yellow-green.d.ts +2 -0
- package/dist/materials/index.d.ts +7 -0
- package/dist/materials/point-cloud-material.d.ts +180 -0
- package/dist/materials/texture-generation.d.ts +5 -0
- package/dist/materials/types.d.ts +10 -0
- package/dist/point-attributes.d.ts +52 -0
- package/dist/point-cloud-octree-geometry-node.d.ts +73 -0
- package/dist/point-cloud-octree-geometry.d.ts +27 -0
- package/dist/point-cloud-octree-node.d.ts +26 -0
- package/dist/point-cloud-octree-picker.d.ts +45 -0
- package/dist/point-cloud-octree.d.ts +45 -0
- package/dist/point-cloud-tree.d.ts +6 -0
- package/dist/potree.d.ts +37 -0
- package/dist/type-predicates.d.ts +3 -0
- package/dist/types.d.ts +56 -0
- package/dist/utils/bounds.d.ts +6 -0
- package/dist/utils/box3-helper.d.ts +13 -0
- package/dist/utils/lru.d.ts +32 -0
- package/dist/utils/math.d.ts +1 -0
- package/dist/utils/utils.d.ts +6 -0
- package/dist/version.d.ts +9 -0
- package/dist/workers/binary-decoder-worker-internal.d.ts +5 -0
- package/dist/workers/custom-array-view.d.ts +11 -0
- package/package.json +54 -31
- package/build/potree.js +0 -10290
- package/build/potree.min.js +0 -230
- package/build/potree.module.js +0 -10231
- package/data/lion_takanawa/cloud.js +0 -28
- package/data/lion_takanawa/data/r/r.bin +0 -0
- package/data/lion_takanawa/data/r/r.hrc +0 -0
- package/data/lion_takanawa/data/r/r0.bin +0 -0
- package/data/lion_takanawa/data/r/r00.bin +0 -0
- package/data/lion_takanawa/data/r/r001.bin +0 -0
- package/data/lion_takanawa/data/r/r003.bin +0 -0
- package/data/lion_takanawa/data/r/r004.bin +0 -0
- package/data/lion_takanawa/data/r/r005.bin +0 -0
- package/data/lion_takanawa/data/r/r007.bin +0 -0
- package/data/lion_takanawa/data/r/r01.bin +0 -0
- package/data/lion_takanawa/data/r/r012.bin +0 -0
- package/data/lion_takanawa/data/r/r013.bin +0 -0
- package/data/lion_takanawa/data/r/r016.bin +0 -0
- package/data/lion_takanawa/data/r/r017.bin +0 -0
- package/data/lion_takanawa/data/r/r02.bin +0 -0
- package/data/lion_takanawa/data/r/r021.bin +0 -0
- package/data/lion_takanawa/data/r/r023.bin +0 -0
- package/data/lion_takanawa/data/r/r03.bin +0 -0
- package/data/lion_takanawa/data/r/r030.bin +0 -0
- package/data/lion_takanawa/data/r/r031.bin +0 -0
- package/data/lion_takanawa/data/r/r032.bin +0 -0
- package/data/lion_takanawa/data/r/r034.bin +0 -0
- package/data/lion_takanawa/data/r/r035.bin +0 -0
- package/data/lion_takanawa/data/r/r036.bin +0 -0
- package/data/lion_takanawa/data/r/r037.bin +0 -0
- package/data/lion_takanawa/data/r/r04.bin +0 -0
- package/data/lion_takanawa/data/r/r041.bin +0 -0
- package/data/lion_takanawa/data/r/r043.bin +0 -0
- package/data/lion_takanawa/data/r/r045.bin +0 -0
- package/data/lion_takanawa/data/r/r047.bin +0 -0
- package/data/lion_takanawa/data/r/r05.bin +0 -0
- package/data/lion_takanawa/data/r/r052.bin +0 -0
- package/data/lion_takanawa/data/r/r053.bin +0 -0
- package/data/lion_takanawa/data/r/r056.bin +0 -0
- package/data/lion_takanawa/data/r/r057.bin +0 -0
- package/data/lion_takanawa/data/r/r06.bin +0 -0
- package/data/lion_takanawa/data/r/r065.bin +0 -0
- package/data/lion_takanawa/data/r/r067.bin +0 -0
- package/data/lion_takanawa/data/r/r07.bin +0 -0
- package/data/lion_takanawa/data/r/r070.bin +0 -0
- package/data/lion_takanawa/data/r/r071.bin +0 -0
- package/data/lion_takanawa/data/r/r072.bin +0 -0
- package/data/lion_takanawa/data/r/r073.bin +0 -0
- package/data/lion_takanawa/data/r/r074.bin +0 -0
- package/data/lion_takanawa/data/r/r075.bin +0 -0
- package/data/lion_takanawa/data/r/r076.bin +0 -0
- package/data/lion_takanawa/data/r/r077.bin +0 -0
- package/data/lion_takanawa/data/r/r1.bin +0 -0
- package/data/lion_takanawa/data/r/r11.bin +0 -0
- package/data/lion_takanawa/data/r/r116.bin +0 -0
- package/data/lion_takanawa/data/r/r117.bin +0 -0
- package/data/lion_takanawa/data/r/r12.bin +0 -0
- package/data/lion_takanawa/data/r/r124.bin +0 -0
- package/data/lion_takanawa/data/r/r125.bin +0 -0
- package/data/lion_takanawa/data/r/r126.bin +0 -0
- package/data/lion_takanawa/data/r/r127.bin +0 -0
- package/data/lion_takanawa/data/r/r13.bin +0 -0
- package/data/lion_takanawa/data/r/r134.bin +0 -0
- package/data/lion_takanawa/data/r/r135.bin +0 -0
- package/data/lion_takanawa/data/r/r136.bin +0 -0
- package/data/lion_takanawa/data/r/r137.bin +0 -0
- package/data/lion_takanawa/data/r/r14.bin +0 -0
- package/data/lion_takanawa/data/r/r146.bin +0 -0
- package/data/lion_takanawa/data/r/r15.bin +0 -0
- package/data/lion_takanawa/data/r/r152.bin +0 -0
- package/data/lion_takanawa/data/r/r153.bin +0 -0
- package/data/lion_takanawa/data/r/r156.bin +0 -0
- package/data/lion_takanawa/data/r/r157.bin +0 -0
- package/data/lion_takanawa/data/r/r16.bin +0 -0
- package/data/lion_takanawa/data/r/r160.bin +0 -0
- package/data/lion_takanawa/data/r/r161.bin +0 -0
- package/data/lion_takanawa/data/r/r162.bin +0 -0
- package/data/lion_takanawa/data/r/r164.bin +0 -0
- package/data/lion_takanawa/data/r/r165.bin +0 -0
- package/data/lion_takanawa/data/r/r166.bin +0 -0
- package/data/lion_takanawa/data/r/r167.bin +0 -0
- package/data/lion_takanawa/data/r/r17.bin +0 -0
- package/data/lion_takanawa/data/r/r170.bin +0 -0
- package/data/lion_takanawa/data/r/r171.bin +0 -0
- package/data/lion_takanawa/data/r/r173.bin +0 -0
- package/data/lion_takanawa/data/r/r174.bin +0 -0
- package/data/lion_takanawa/data/r/r175.bin +0 -0
- package/data/lion_takanawa/data/r/r176.bin +0 -0
- package/data/lion_takanawa/data/r/r177.bin +0 -0
- package/data/lion_takanawa/data/r/r2.bin +0 -0
- package/data/lion_takanawa/data/r/r21.bin +0 -0
- package/data/lion_takanawa/data/r/r210.bin +0 -0
- package/data/lion_takanawa/data/r/r214.bin +0 -0
- package/data/lion_takanawa/data/r/r215.bin +0 -0
- package/data/lion_takanawa/data/r/r23.bin +0 -0
- package/data/lion_takanawa/data/r/r235.bin +0 -0
- package/data/lion_takanawa/data/r/r24.bin +0 -0
- package/data/lion_takanawa/data/r/r243.bin +0 -0
- package/data/lion_takanawa/data/r/r245.bin +0 -0
- package/data/lion_takanawa/data/r/r247.bin +0 -0
- package/data/lion_takanawa/data/r/r25.bin +0 -0
- package/data/lion_takanawa/data/r/r250.bin +0 -0
- package/data/lion_takanawa/data/r/r251.bin +0 -0
- package/data/lion_takanawa/data/r/r254.bin +0 -0
- package/data/lion_takanawa/data/r/r255.bin +0 -0
- package/data/lion_takanawa/data/r/r256.bin +0 -0
- package/data/lion_takanawa/data/r/r257.bin +0 -0
- package/data/lion_takanawa/data/r/r26.bin +0 -0
- package/data/lion_takanawa/data/r/r261.bin +0 -0
- package/data/lion_takanawa/data/r/r265.bin +0 -0
- package/data/lion_takanawa/data/r/r27.bin +0 -0
- package/data/lion_takanawa/data/r/r270.bin +0 -0
- package/data/lion_takanawa/data/r/r271.bin +0 -0
- package/data/lion_takanawa/data/r/r274.bin +0 -0
- package/data/lion_takanawa/data/r/r275.bin +0 -0
- package/data/lion_takanawa/data/r/r3.bin +0 -0
- package/data/lion_takanawa/data/r/r30.bin +0 -0
- package/data/lion_takanawa/data/r/r304.bin +0 -0
- package/data/lion_takanawa/data/r/r306.bin +0 -0
- package/data/lion_takanawa/data/r/r31.bin +0 -0
- package/data/lion_takanawa/data/r/r314.bin +0 -0
- package/data/lion_takanawa/data/r/r315.bin +0 -0
- package/data/lion_takanawa/data/r/r32.bin +0 -0
- package/data/lion_takanawa/data/r/r324.bin +0 -0
- package/data/lion_takanawa/data/r/r34.bin +0 -0
- package/data/lion_takanawa/data/r/r340.bin +0 -0
- package/data/lion_takanawa/data/r/r341.bin +0 -0
- package/data/lion_takanawa/data/r/r342.bin +0 -0
- package/data/lion_takanawa/data/r/r343.bin +0 -0
- package/data/lion_takanawa/data/r/r344.bin +0 -0
- package/data/lion_takanawa/data/r/r345.bin +0 -0
- package/data/lion_takanawa/data/r/r346.bin +0 -0
- package/data/lion_takanawa/data/r/r347.bin +0 -0
- package/data/lion_takanawa/data/r/r35.bin +0 -0
- package/data/lion_takanawa/data/r/r350.bin +0 -0
- package/data/lion_takanawa/data/r/r351.bin +0 -0
- package/data/lion_takanawa/data/r/r354.bin +0 -0
- package/data/lion_takanawa/data/r/r355.bin +0 -0
- package/data/lion_takanawa/data/r/r36.bin +0 -0
- package/data/lion_takanawa/data/r/r360.bin +0 -0
- package/data/lion_takanawa/data/r/r364.bin +0 -0
- package/data/lion_takanawa/data/r/r4.bin +0 -0
- package/data/lion_takanawa/data/r/r40.bin +0 -0
- package/data/lion_takanawa/data/r/r400.bin +0 -0
- package/data/lion_takanawa/data/r/r401.bin +0 -0
- package/data/lion_takanawa/data/r/r402.bin +0 -0
- package/data/lion_takanawa/data/r/r403.bin +0 -0
- package/data/lion_takanawa/data/r/r406.bin +0 -0
- package/data/lion_takanawa/data/r/r41.bin +0 -0
- package/data/lion_takanawa/data/r/r413.bin +0 -0
- package/data/lion_takanawa/data/r/r42.bin +0 -0
- package/data/lion_takanawa/data/r/r420.bin +0 -0
- package/data/lion_takanawa/data/r/r421.bin +0 -0
- package/data/lion_takanawa/data/r/r422.bin +0 -0
- package/data/lion_takanawa/data/r/r423.bin +0 -0
- package/data/lion_takanawa/data/r/r424.bin +0 -0
- package/data/lion_takanawa/data/r/r426.bin +0 -0
- package/data/lion_takanawa/data/r/r43.bin +0 -0
- package/data/lion_takanawa/data/r/r431.bin +0 -0
- package/data/lion_takanawa/data/r/r6.bin +0 -0
- package/data/lion_takanawa/data/r/r60.bin +0 -0
- package/data/lion_takanawa/data/r/r600.bin +0 -0
- package/data/lion_takanawa/data/r/r601.bin +0 -0
- package/data/lion_takanawa/data/r/r602.bin +0 -0
- package/data/lion_takanawa/data/r/r603.bin +0 -0
- package/data/lion_takanawa/data/r/r604.bin +0 -0
- package/data/lion_takanawa/data/r/r606.bin +0 -0
- package/data/lion_takanawa/data/r/r62.bin +0 -0
- package/data/lion_takanawa/data/r/r620.bin +0 -0
- package/data/lion_takanawa/data/r/r621.bin +0 -0
- package/data/lion_takanawa/data/r/r622.bin +0 -0
- package/data/lion_takanawa/data/r/r624.bin +0 -0
- package/data/lion_takanawa/data/r/r626.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-build.json +0 -7
- package/data/lion_takanawa_ept_bin/ept-data/0-0-0-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-0-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-0-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-1-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-0-1-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-1-0-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-1-0-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/1-1-1-0.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-0-1-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-0-1-2.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-0-2-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-0-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-1-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-1-2.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-2-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-data/2-1-3-1.bin +0 -0
- package/data/lion_takanawa_ept_bin/ept-hierarchy/0-0-0-0.json +0 -18
- package/data/lion_takanawa_ept_bin/ept-sources/0.json +0 -7102
- package/data/lion_takanawa_ept_bin/ept-sources/100.json +0 -7102
- package/data/lion_takanawa_ept_bin/ept-sources/list.json +0 -3402
- package/data/lion_takanawa_ept_bin/ept.json +0 -117
- package/data/lion_takanawa_ept_laz/ept-build.json +0 -7
- package/data/lion_takanawa_ept_laz/ept-data/0-0-0-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-0-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-0-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-1-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-0-1-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-1-0-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-1-0-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/1-1-1-0.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-0-1-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-0-1-2.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-0-2-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-0-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-1-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-1-2.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-2-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-data/2-1-3-1.laz +0 -0
- package/data/lion_takanawa_ept_laz/ept-hierarchy/0-0-0-0.json +0 -18
- package/data/lion_takanawa_ept_laz/ept-sources/0.json +0 -7102
- package/data/lion_takanawa_ept_laz/ept-sources/100.json +0 -7102
- package/data/lion_takanawa_ept_laz/ept-sources/list.json +0 -3402
- package/data/lion_takanawa_ept_laz/ept.json +0 -117
- package/data/lion_takanawa_las/cloud.js +0 -225
- package/data/lion_takanawa_las/data/r.las +0 -0
- package/data/lion_takanawa_las/data/r0.las +0 -0
- package/data/lion_takanawa_las/data/r00.las +0 -0
- package/data/lion_takanawa_las/data/r003.las +0 -0
- package/data/lion_takanawa_las/data/r006.las +0 -0
- package/data/lion_takanawa_las/data/r007.las +0 -0
- package/data/lion_takanawa_las/data/r01.las +0 -0
- package/data/lion_takanawa_las/data/r010.las +0 -0
- package/data/lion_takanawa_las/data/r011.las +0 -0
- package/data/lion_takanawa_las/data/r012.las +0 -0
- package/data/lion_takanawa_las/data/r013.las +0 -0
- package/data/lion_takanawa_las/data/r014.las +0 -0
- package/data/lion_takanawa_las/data/r015.las +0 -0
- package/data/lion_takanawa_las/data/r016.las +0 -0
- package/data/lion_takanawa_las/data/r017.las +0 -0
- package/data/lion_takanawa_las/data/r02.las +0 -0
- package/data/lion_takanawa_las/data/r020.las +0 -0
- package/data/lion_takanawa_las/data/r021.las +0 -0
- package/data/lion_takanawa_las/data/r022.las +0 -0
- package/data/lion_takanawa_las/data/r023.las +0 -0
- package/data/lion_takanawa_las/data/r024.las +0 -0
- package/data/lion_takanawa_las/data/r025.las +0 -0
- package/data/lion_takanawa_las/data/r026.las +0 -0
- package/data/lion_takanawa_las/data/r027.las +0 -0
- package/data/lion_takanawa_las/data/r03.las +0 -0
- package/data/lion_takanawa_las/data/r030.las +0 -0
- package/data/lion_takanawa_las/data/r031.las +0 -0
- package/data/lion_takanawa_las/data/r032.las +0 -0
- package/data/lion_takanawa_las/data/r033.las +0 -0
- package/data/lion_takanawa_las/data/r034.las +0 -0
- package/data/lion_takanawa_las/data/r035.las +0 -0
- package/data/lion_takanawa_las/data/r036.las +0 -0
- package/data/lion_takanawa_las/data/r037.las +0 -0
- package/data/lion_takanawa_las/data/r04.las +0 -0
- package/data/lion_takanawa_las/data/r042.las +0 -0
- package/data/lion_takanawa_las/data/r046.las +0 -0
- package/data/lion_takanawa_las/data/r06.las +0 -0
- package/data/lion_takanawa_las/data/r060.las +0 -0
- package/data/lion_takanawa_las/data/r061.las +0 -0
- package/data/lion_takanawa_las/data/r064.las +0 -0
- package/data/lion_takanawa_las/data/r065.las +0 -0
- package/data/lion_takanawa_las/data/r07.las +0 -0
- package/data/lion_takanawa_las/data/r070.las +0 -0
- package/data/lion_takanawa_las/data/r071.las +0 -0
- package/data/lion_takanawa_las/data/r072.las +0 -0
- package/data/lion_takanawa_las/data/r073.las +0 -0
- package/data/lion_takanawa_las/data/r074.las +0 -0
- package/data/lion_takanawa_las/data/r075.las +0 -0
- package/data/lion_takanawa_las/data/r076.las +0 -0
- package/data/lion_takanawa_las/data/r077.las +0 -0
- package/data/lion_takanawa_las/data/r1.las +0 -0
- package/data/lion_takanawa_las/data/r10.las +0 -0
- package/data/lion_takanawa_las/data/r102.las +0 -0
- package/data/lion_takanawa_las/data/r11.las +0 -0
- package/data/lion_takanawa_las/data/r116.las +0 -0
- package/data/lion_takanawa_las/data/r12.las +0 -0
- package/data/lion_takanawa_las/data/r120.las +0 -0
- package/data/lion_takanawa_las/data/r122.las +0 -0
- package/data/lion_takanawa_las/data/r126.las +0 -0
- package/data/lion_takanawa_las/data/r127.las +0 -0
- package/data/lion_takanawa_las/data/r14.las +0 -0
- package/data/lion_takanawa_las/data/r143.las +0 -0
- package/data/lion_takanawa_las/data/r147.las +0 -0
- package/data/lion_takanawa_las/data/r16.las +0 -0
- package/data/lion_takanawa_las/data/r160.las +0 -0
- package/data/lion_takanawa_las/data/r161.las +0 -0
- package/data/lion_takanawa_las/data/r162.las +0 -0
- package/data/lion_takanawa_las/data/r163.las +0 -0
- package/data/lion_takanawa_las/data/r164.las +0 -0
- package/data/lion_takanawa_las/data/r165.las +0 -0
- package/data/lion_takanawa_las/data/r166.las +0 -0
- package/data/lion_takanawa_las/data/r167.las +0 -0
- package/data/lion_takanawa_las/data/r17.las +0 -0
- package/data/lion_takanawa_las/data/r170.las +0 -0
- package/data/lion_takanawa_las/data/r172.las +0 -0
- package/data/lion_takanawa_las/data/r174.las +0 -0
- package/data/lion_takanawa_las/data/r176.las +0 -0
- package/data/lion_takanawa_las/data/r2.las +0 -0
- package/data/lion_takanawa_las/data/r20.las +0 -0
- package/data/lion_takanawa_las/data/r200.las +0 -0
- package/data/lion_takanawa_las/data/r202.las +0 -0
- package/data/lion_takanawa_las/data/r203.las +0 -0
- package/data/lion_takanawa_las/data/r21.las +0 -0
- package/data/lion_takanawa_las/data/r210.las +0 -0
- package/data/lion_takanawa_las/data/r211.las +0 -0
- package/data/lion_takanawa_las/data/r212.las +0 -0
- package/data/lion_takanawa_las/data/r213.las +0 -0
- package/data/lion_takanawa_las/data/r214.las +0 -0
- package/data/lion_takanawa_las/data/r215.las +0 -0
- package/data/lion_takanawa_las/data/r216.las +0 -0
- package/data/lion_takanawa_las/data/r217.las +0 -0
- package/data/lion_takanawa_las/data/r22.las +0 -0
- package/data/lion_takanawa_las/data/r220.las +0 -0
- package/data/lion_takanawa_las/data/r222.las +0 -0
- package/data/lion_takanawa_las/data/r224.las +0 -0
- package/data/lion_takanawa_las/data/r225.las +0 -0
- package/data/lion_takanawa_las/data/r23.las +0 -0
- package/data/lion_takanawa_las/data/r231.las +0 -0
- package/data/lion_takanawa_las/data/r233.las +0 -0
- package/data/lion_takanawa_las/data/r235.las +0 -0
- package/data/lion_takanawa_las/data/r237.las +0 -0
- package/data/lion_takanawa_las/data/r25.las +0 -0
- package/data/lion_takanawa_las/data/r250.las +0 -0
- package/data/lion_takanawa_las/data/r251.las +0 -0
- package/data/lion_takanawa_las/data/r252.las +0 -0
- package/data/lion_takanawa_las/data/r253.las +0 -0
- package/data/lion_takanawa_las/data/r254.las +0 -0
- package/data/lion_takanawa_las/data/r255.las +0 -0
- package/data/lion_takanawa_las/data/r256.las +0 -0
- package/data/lion_takanawa_las/data/r257.las +0 -0
- package/data/lion_takanawa_las/data/r26.las +0 -0
- package/data/lion_takanawa_las/data/r260.las +0 -0
- package/data/lion_takanawa_las/data/r261.las +0 -0
- package/data/lion_takanawa_las/data/r262.las +0 -0
- package/data/lion_takanawa_las/data/r263.las +0 -0
- package/data/lion_takanawa_las/data/r265.las +0 -0
- package/data/lion_takanawa_las/data/r266.las +0 -0
- package/data/lion_takanawa_las/data/r267.las +0 -0
- package/data/lion_takanawa_las/data/r27.las +0 -0
- package/data/lion_takanawa_las/data/r270.las +0 -0
- package/data/lion_takanawa_las/data/r271.las +0 -0
- package/data/lion_takanawa_las/data/r272.las +0 -0
- package/data/lion_takanawa_las/data/r273.las +0 -0
- package/data/lion_takanawa_las/data/r274.las +0 -0
- package/data/lion_takanawa_las/data/r275.las +0 -0
- package/data/lion_takanawa_las/data/r276.las +0 -0
- package/data/lion_takanawa_las/data/r277.las +0 -0
- package/data/lion_takanawa_las/data/r3.las +0 -0
- package/data/lion_takanawa_las/data/r30.las +0 -0
- package/data/lion_takanawa_las/data/r304.las +0 -0
- package/data/lion_takanawa_las/data/r305.las +0 -0
- package/data/lion_takanawa_las/data/r32.las +0 -0
- package/data/lion_takanawa_las/data/r320.las +0 -0
- package/data/lion_takanawa_las/data/r322.las +0 -0
- package/data/lion_takanawa_las/data/r326.las +0 -0
- package/data/lion_takanawa_las/data/r34.las +0 -0
- package/data/lion_takanawa_las/data/r340.las +0 -0
- package/data/lion_takanawa_las/data/r341.las +0 -0
- package/data/lion_takanawa_las/data/r342.las +0 -0
- package/data/lion_takanawa_las/data/r344.las +0 -0
- package/data/lion_takanawa_las/data/r345.las +0 -0
- package/data/lion_takanawa_las/data/r346.las +0 -0
- package/data/lion_takanawa_las/data/r35.las +0 -0
- package/data/lion_takanawa_las/data/r350.las +0 -0
- package/data/lion_takanawa_las/data/r354.las +0 -0
- package/data/lion_takanawa_las/data/r36.las +0 -0
- package/data/lion_takanawa_las/data/r360.las +0 -0
- package/data/lion_takanawa_las/data/r361.las +0 -0
- package/data/lion_takanawa_las/data/r364.las +0 -0
- package/data/lion_takanawa_las/data/r37.las +0 -0
- package/data/lion_takanawa_las/data/r370.las +0 -0
- package/data/lion_takanawa_las/data/r4.las +0 -0
- package/data/lion_takanawa_las/data/r40.las +0 -0
- package/data/lion_takanawa_las/data/r400.las +0 -0
- package/data/lion_takanawa_las/data/r402.las +0 -0
- package/data/lion_takanawa_las/data/r42.las +0 -0
- package/data/lion_takanawa_las/data/r420.las +0 -0
- package/data/lion_takanawa_las/data/r421.las +0 -0
- package/data/lion_takanawa_las/data/r422.las +0 -0
- package/data/lion_takanawa_las/data/r423.las +0 -0
- package/data/lion_takanawa_las/data/r424.las +0 -0
- package/data/lion_takanawa_las/data/r426.las +0 -0
- package/data/lion_takanawa_las/data/r43.las +0 -0
- package/data/lion_takanawa_las/data/r430.las +0 -0
- package/data/lion_takanawa_las/data/r431.las +0 -0
- package/data/lion_takanawa_las/data/r432.las +0 -0
- package/data/lion_takanawa_las/data/r433.las +0 -0
- package/data/lion_takanawa_las/data/r5.las +0 -0
- package/data/lion_takanawa_las/data/r52.las +0 -0
- package/data/lion_takanawa_las/data/r522.las +0 -0
- package/data/lion_takanawa_las/data/r6.las +0 -0
- package/data/lion_takanawa_las/data/r60.las +0 -0
- package/data/lion_takanawa_las/data/r600.las +0 -0
- package/data/lion_takanawa_las/data/r601.las +0 -0
- package/data/lion_takanawa_las/data/r602.las +0 -0
- package/data/lion_takanawa_las/data/r603.las +0 -0
- package/data/lion_takanawa_las/data/r604.las +0 -0
- package/data/lion_takanawa_las/data/r606.las +0 -0
- package/data/lion_takanawa_las/data/r61.las +0 -0
- package/data/lion_takanawa_las/data/r610.las +0 -0
- package/data/lion_takanawa_las/data/r611.las +0 -0
- package/data/lion_takanawa_las/data/r612.las +0 -0
- package/data/lion_takanawa_las/data/r613.las +0 -0
- package/data/lion_takanawa_las/data/r62.las +0 -0
- package/data/lion_takanawa_las/data/r620.las +0 -0
- package/data/lion_takanawa_las/data/r621.las +0 -0
- package/data/lion_takanawa_las/data/r623.las +0 -0
- package/data/lion_takanawa_las/data/r624.las +0 -0
- package/data/lion_takanawa_las/data/r625.las +0 -0
- package/data/lion_takanawa_las/data/r626.las +0 -0
- package/data/lion_takanawa_las/data/r627.las +0 -0
- package/data/lion_takanawa_las/data/r63.las +0 -0
- package/data/lion_takanawa_las/data/r630.las +0 -0
- package/data/lion_takanawa_las/data/r631.las +0 -0
- package/data/lion_takanawa_las/data/r632.las +0 -0
- package/data/lion_takanawa_las/data/r633.las +0 -0
- package/data/lion_takanawa_las/data/r636.las +0 -0
- package/data/lion_takanawa_las/data/r7.las +0 -0
- package/data/lion_takanawa_las/data/r70.las +0 -0
- package/data/lion_takanawa_las/data/r700.las +0 -0
- package/data/lion_takanawa_laz/cloud.js +0 -225
- package/data/lion_takanawa_laz/data/r.laz +0 -0
- package/data/lion_takanawa_laz/data/r0.laz +0 -0
- package/data/lion_takanawa_laz/data/r00.laz +0 -0
- package/data/lion_takanawa_laz/data/r003.laz +0 -0
- package/data/lion_takanawa_laz/data/r006.laz +0 -0
- package/data/lion_takanawa_laz/data/r007.laz +0 -0
- package/data/lion_takanawa_laz/data/r01.laz +0 -0
- package/data/lion_takanawa_laz/data/r010.laz +0 -0
- package/data/lion_takanawa_laz/data/r011.laz +0 -0
- package/data/lion_takanawa_laz/data/r012.laz +0 -0
- package/data/lion_takanawa_laz/data/r013.laz +0 -0
- package/data/lion_takanawa_laz/data/r014.laz +0 -0
- package/data/lion_takanawa_laz/data/r015.laz +0 -0
- package/data/lion_takanawa_laz/data/r016.laz +0 -0
- package/data/lion_takanawa_laz/data/r017.laz +0 -0
- package/data/lion_takanawa_laz/data/r02.laz +0 -0
- package/data/lion_takanawa_laz/data/r020.laz +0 -0
- package/data/lion_takanawa_laz/data/r021.laz +0 -0
- package/data/lion_takanawa_laz/data/r022.laz +0 -0
- package/data/lion_takanawa_laz/data/r023.laz +0 -0
- package/data/lion_takanawa_laz/data/r024.laz +0 -0
- package/data/lion_takanawa_laz/data/r025.laz +0 -0
- package/data/lion_takanawa_laz/data/r026.laz +0 -0
- package/data/lion_takanawa_laz/data/r027.laz +0 -0
- package/data/lion_takanawa_laz/data/r03.laz +0 -0
- package/data/lion_takanawa_laz/data/r030.laz +0 -0
- package/data/lion_takanawa_laz/data/r031.laz +0 -0
- package/data/lion_takanawa_laz/data/r032.laz +0 -0
- package/data/lion_takanawa_laz/data/r033.laz +0 -0
- package/data/lion_takanawa_laz/data/r034.laz +0 -0
- package/data/lion_takanawa_laz/data/r035.laz +0 -0
- package/data/lion_takanawa_laz/data/r036.laz +0 -0
- package/data/lion_takanawa_laz/data/r037.laz +0 -0
- package/data/lion_takanawa_laz/data/r04.laz +0 -0
- package/data/lion_takanawa_laz/data/r042.laz +0 -0
- package/data/lion_takanawa_laz/data/r046.laz +0 -0
- package/data/lion_takanawa_laz/data/r06.laz +0 -0
- package/data/lion_takanawa_laz/data/r060.laz +0 -0
- package/data/lion_takanawa_laz/data/r061.laz +0 -0
- package/data/lion_takanawa_laz/data/r064.laz +0 -0
- package/data/lion_takanawa_laz/data/r065.laz +0 -0
- package/data/lion_takanawa_laz/data/r07.laz +0 -0
- package/data/lion_takanawa_laz/data/r070.laz +0 -0
- package/data/lion_takanawa_laz/data/r071.laz +0 -0
- package/data/lion_takanawa_laz/data/r072.laz +0 -0
- package/data/lion_takanawa_laz/data/r073.laz +0 -0
- package/data/lion_takanawa_laz/data/r074.laz +0 -0
- package/data/lion_takanawa_laz/data/r075.laz +0 -0
- package/data/lion_takanawa_laz/data/r076.laz +0 -0
- package/data/lion_takanawa_laz/data/r077.laz +0 -0
- package/data/lion_takanawa_laz/data/r1.laz +0 -0
- package/data/lion_takanawa_laz/data/r10.laz +0 -0
- package/data/lion_takanawa_laz/data/r102.laz +0 -0
- package/data/lion_takanawa_laz/data/r11.laz +0 -0
- package/data/lion_takanawa_laz/data/r116.laz +0 -0
- package/data/lion_takanawa_laz/data/r12.laz +0 -0
- package/data/lion_takanawa_laz/data/r120.laz +0 -0
- package/data/lion_takanawa_laz/data/r122.laz +0 -0
- package/data/lion_takanawa_laz/data/r126.laz +0 -0
- package/data/lion_takanawa_laz/data/r127.laz +0 -0
- package/data/lion_takanawa_laz/data/r14.laz +0 -0
- package/data/lion_takanawa_laz/data/r143.laz +0 -0
- package/data/lion_takanawa_laz/data/r147.laz +0 -0
- package/data/lion_takanawa_laz/data/r16.laz +0 -0
- package/data/lion_takanawa_laz/data/r160.laz +0 -0
- package/data/lion_takanawa_laz/data/r161.laz +0 -0
- package/data/lion_takanawa_laz/data/r162.laz +0 -0
- package/data/lion_takanawa_laz/data/r163.laz +0 -0
- package/data/lion_takanawa_laz/data/r164.laz +0 -0
- package/data/lion_takanawa_laz/data/r165.laz +0 -0
- package/data/lion_takanawa_laz/data/r166.laz +0 -0
- package/data/lion_takanawa_laz/data/r167.laz +0 -0
- package/data/lion_takanawa_laz/data/r17.laz +0 -0
- package/data/lion_takanawa_laz/data/r170.laz +0 -0
- package/data/lion_takanawa_laz/data/r172.laz +0 -0
- package/data/lion_takanawa_laz/data/r174.laz +0 -0
- package/data/lion_takanawa_laz/data/r176.laz +0 -0
- package/data/lion_takanawa_laz/data/r2.laz +0 -0
- package/data/lion_takanawa_laz/data/r20.laz +0 -0
- package/data/lion_takanawa_laz/data/r200.laz +0 -0
- package/data/lion_takanawa_laz/data/r202.laz +0 -0
- package/data/lion_takanawa_laz/data/r203.laz +0 -0
- package/data/lion_takanawa_laz/data/r21.laz +0 -0
- package/data/lion_takanawa_laz/data/r210.laz +0 -0
- package/data/lion_takanawa_laz/data/r211.laz +0 -0
- package/data/lion_takanawa_laz/data/r212.laz +0 -0
- package/data/lion_takanawa_laz/data/r213.laz +0 -0
- package/data/lion_takanawa_laz/data/r214.laz +0 -0
- package/data/lion_takanawa_laz/data/r215.laz +0 -0
- package/data/lion_takanawa_laz/data/r216.laz +0 -0
- package/data/lion_takanawa_laz/data/r217.laz +0 -0
- package/data/lion_takanawa_laz/data/r22.laz +0 -0
- package/data/lion_takanawa_laz/data/r220.laz +0 -0
- package/data/lion_takanawa_laz/data/r222.laz +0 -0
- package/data/lion_takanawa_laz/data/r224.laz +0 -0
- package/data/lion_takanawa_laz/data/r225.laz +0 -0
- package/data/lion_takanawa_laz/data/r23.laz +0 -0
- package/data/lion_takanawa_laz/data/r231.laz +0 -0
- package/data/lion_takanawa_laz/data/r233.laz +0 -0
- package/data/lion_takanawa_laz/data/r235.laz +0 -0
- package/data/lion_takanawa_laz/data/r237.laz +0 -0
- package/data/lion_takanawa_laz/data/r25.laz +0 -0
- package/data/lion_takanawa_laz/data/r250.laz +0 -0
- package/data/lion_takanawa_laz/data/r251.laz +0 -0
- package/data/lion_takanawa_laz/data/r252.laz +0 -0
- package/data/lion_takanawa_laz/data/r253.laz +0 -0
- package/data/lion_takanawa_laz/data/r254.laz +0 -0
- package/data/lion_takanawa_laz/data/r255.laz +0 -0
- package/data/lion_takanawa_laz/data/r256.laz +0 -0
- package/data/lion_takanawa_laz/data/r257.laz +0 -0
- package/data/lion_takanawa_laz/data/r26.laz +0 -0
- package/data/lion_takanawa_laz/data/r260.laz +0 -0
- package/data/lion_takanawa_laz/data/r261.laz +0 -0
- package/data/lion_takanawa_laz/data/r262.laz +0 -0
- package/data/lion_takanawa_laz/data/r263.laz +0 -0
- package/data/lion_takanawa_laz/data/r265.laz +0 -0
- package/data/lion_takanawa_laz/data/r266.laz +0 -0
- package/data/lion_takanawa_laz/data/r267.laz +0 -0
- package/data/lion_takanawa_laz/data/r27.laz +0 -0
- package/data/lion_takanawa_laz/data/r270.laz +0 -0
- package/data/lion_takanawa_laz/data/r271.laz +0 -0
- package/data/lion_takanawa_laz/data/r272.laz +0 -0
- package/data/lion_takanawa_laz/data/r273.laz +0 -0
- package/data/lion_takanawa_laz/data/r274.laz +0 -0
- package/data/lion_takanawa_laz/data/r275.laz +0 -0
- package/data/lion_takanawa_laz/data/r276.laz +0 -0
- package/data/lion_takanawa_laz/data/r277.laz +0 -0
- package/data/lion_takanawa_laz/data/r3.laz +0 -0
- package/data/lion_takanawa_laz/data/r30.laz +0 -0
- package/data/lion_takanawa_laz/data/r304.laz +0 -0
- package/data/lion_takanawa_laz/data/r305.laz +0 -0
- package/data/lion_takanawa_laz/data/r32.laz +0 -0
- package/data/lion_takanawa_laz/data/r320.laz +0 -0
- package/data/lion_takanawa_laz/data/r322.laz +0 -0
- package/data/lion_takanawa_laz/data/r326.laz +0 -0
- package/data/lion_takanawa_laz/data/r34.laz +0 -0
- package/data/lion_takanawa_laz/data/r340.laz +0 -0
- package/data/lion_takanawa_laz/data/r341.laz +0 -0
- package/data/lion_takanawa_laz/data/r342.laz +0 -0
- package/data/lion_takanawa_laz/data/r344.laz +0 -0
- package/data/lion_takanawa_laz/data/r345.laz +0 -0
- package/data/lion_takanawa_laz/data/r346.laz +0 -0
- package/data/lion_takanawa_laz/data/r35.laz +0 -0
- package/data/lion_takanawa_laz/data/r350.laz +0 -0
- package/data/lion_takanawa_laz/data/r354.laz +0 -0
- package/data/lion_takanawa_laz/data/r36.laz +0 -0
- package/data/lion_takanawa_laz/data/r360.laz +0 -0
- package/data/lion_takanawa_laz/data/r361.laz +0 -0
- package/data/lion_takanawa_laz/data/r364.laz +0 -0
- package/data/lion_takanawa_laz/data/r37.laz +0 -0
- package/data/lion_takanawa_laz/data/r370.laz +0 -0
- package/data/lion_takanawa_laz/data/r4.laz +0 -0
- package/data/lion_takanawa_laz/data/r40.laz +0 -0
- package/data/lion_takanawa_laz/data/r400.laz +0 -0
- package/data/lion_takanawa_laz/data/r402.laz +0 -0
- package/data/lion_takanawa_laz/data/r42.laz +0 -0
- package/data/lion_takanawa_laz/data/r420.laz +0 -0
- package/data/lion_takanawa_laz/data/r421.laz +0 -0
- package/data/lion_takanawa_laz/data/r422.laz +0 -0
- package/data/lion_takanawa_laz/data/r423.laz +0 -0
- package/data/lion_takanawa_laz/data/r424.laz +0 -0
- package/data/lion_takanawa_laz/data/r426.laz +0 -0
- package/data/lion_takanawa_laz/data/r43.laz +0 -0
- package/data/lion_takanawa_laz/data/r430.laz +0 -0
- package/data/lion_takanawa_laz/data/r431.laz +0 -0
- package/data/lion_takanawa_laz/data/r432.laz +0 -0
- package/data/lion_takanawa_laz/data/r433.laz +0 -0
- package/data/lion_takanawa_laz/data/r5.laz +0 -0
- package/data/lion_takanawa_laz/data/r52.laz +0 -0
- package/data/lion_takanawa_laz/data/r522.laz +0 -0
- package/data/lion_takanawa_laz/data/r6.laz +0 -0
- package/data/lion_takanawa_laz/data/r60.laz +0 -0
- package/data/lion_takanawa_laz/data/r600.laz +0 -0
- package/data/lion_takanawa_laz/data/r601.laz +0 -0
- package/data/lion_takanawa_laz/data/r602.laz +0 -0
- package/data/lion_takanawa_laz/data/r603.laz +0 -0
- package/data/lion_takanawa_laz/data/r604.laz +0 -0
- package/data/lion_takanawa_laz/data/r606.laz +0 -0
- package/data/lion_takanawa_laz/data/r61.laz +0 -0
- package/data/lion_takanawa_laz/data/r610.laz +0 -0
- package/data/lion_takanawa_laz/data/r611.laz +0 -0
- package/data/lion_takanawa_laz/data/r612.laz +0 -0
- package/data/lion_takanawa_laz/data/r613.laz +0 -0
- package/data/lion_takanawa_laz/data/r62.laz +0 -0
- package/data/lion_takanawa_laz/data/r620.laz +0 -0
- package/data/lion_takanawa_laz/data/r621.laz +0 -0
- package/data/lion_takanawa_laz/data/r623.laz +0 -0
- package/data/lion_takanawa_laz/data/r624.laz +0 -0
- package/data/lion_takanawa_laz/data/r625.laz +0 -0
- package/data/lion_takanawa_laz/data/r626.laz +0 -0
- package/data/lion_takanawa_laz/data/r627.laz +0 -0
- package/data/lion_takanawa_laz/data/r63.laz +0 -0
- package/data/lion_takanawa_laz/data/r630.laz +0 -0
- package/data/lion_takanawa_laz/data/r631.laz +0 -0
- package/data/lion_takanawa_laz/data/r632.laz +0 -0
- package/data/lion_takanawa_laz/data/r633.laz +0 -0
- package/data/lion_takanawa_laz/data/r636.laz +0 -0
- package/data/lion_takanawa_laz/data/r7.laz +0 -0
- package/data/lion_takanawa_laz/data/r70.laz +0 -0
- package/data/lion_takanawa_laz/data/r700.laz +0 -0
- package/index.html +0 -138
- package/lib/threejs/OrbitControls.js +0 -1043
- package/lib/threejs/three.min.js +0 -975
- package/rollup.config.js +0 -16
- package/screenshot.png +0 -0
- package/source/Global.js +0 -42
- package/source/Gradients.js +0 -116
- package/source/Main.js +0 -67
- package/source/PointAttributes.js +0 -174
- package/source/Points.js +0 -59
- package/source/Potree.js +0 -570
- package/source/Shader.js +0 -270
- package/source/Shaders.js +0 -892
- package/source/WebGLBuffer.js +0 -13
- package/source/WebGLTexture.js +0 -193
- package/source/lib/BinaryHeap.js +0 -138
- package/source/loaders/BinaryLoader.js +0 -165
- package/source/loaders/EptLoader.js +0 -25
- package/source/loaders/GreyhoundBinaryLoader.js +0 -155
- package/source/loaders/GreyhoundLoader.js +0 -252
- package/source/loaders/GreyhoundUtils.js +0 -224
- package/source/loaders/LASLAZLoader.js +0 -235
- package/source/loaders/LASLoader.js +0 -368
- package/source/loaders/POCLoader.js +0 -188
- package/source/loaders/ept/EptBinaryLoader.js +0 -115
- package/source/loaders/ept/EptLaszipLoader.js +0 -184
- package/source/objects/BasicGroup.js +0 -203
- package/source/objects/Group.js +0 -614
- package/source/pointcloud/DEM.js +0 -245
- package/source/pointcloud/DEMNode.js +0 -169
- package/source/pointcloud/PointCloudArena4D.js +0 -688
- package/source/pointcloud/PointCloudOctree.js +0 -1117
- package/source/pointcloud/PointCloudTree.js +0 -42
- package/source/pointcloud/geometries/PointCloudArena4DGeometry.js +0 -467
- package/source/pointcloud/geometries/PointCloudEptGeometry.js +0 -341
- package/source/pointcloud/geometries/PointCloudGreyhoundGeometry.js +0 -371
- package/source/pointcloud/geometries/PointCloudOctreeGeometry.js +0 -299
- package/source/pointcloud/materials/PointCloudMaterial.js +0 -1177
- package/source/utils/HelperUtils.js +0 -55
- package/source/utils/LRU.js +0 -210
- package/source/utils/VersionUtils.js +0 -45
- package/source/utils/WorkerManager.js +0 -85
- package/source/workers/BinaryDecoderWorker.js +0 -417
- package/source/workers/DEMWorker.js +0 -47
- package/source/workers/EptBinaryDecoderWorker.js +0 -209
- package/source/workers/EptLaszipDecoderWorker.js +0 -176
- package/source/workers/GreyhoundBinaryDecoderWorker.js +0 -504
- package/source/workers/LASDecoderWorker.js +0 -137
- package/source/workers/LASLAZWorker.js +0 -49756
package/source/Shaders.js
DELETED
|
@@ -1,892 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var Shaders = {};
|
|
4
|
-
|
|
5
|
-
//pointcloud.vs
|
|
6
|
-
Shaders.vertex = `
|
|
7
|
-
precision highp float;
|
|
8
|
-
precision highp int;
|
|
9
|
-
|
|
10
|
-
#define MAX_CLIP_POLYGONS 8
|
|
11
|
-
#define PI 3.141592653589793
|
|
12
|
-
|
|
13
|
-
` + THREE.ShaderChunk.logdepthbuf_pars_vertex + `
|
|
14
|
-
|
|
15
|
-
attribute vec3 position;
|
|
16
|
-
attribute vec3 color;
|
|
17
|
-
attribute float intensity;
|
|
18
|
-
attribute float classification;
|
|
19
|
-
attribute float returnNumber;
|
|
20
|
-
attribute float numberOfReturns;
|
|
21
|
-
attribute float pointSourceID;
|
|
22
|
-
attribute vec4 indices;
|
|
23
|
-
attribute float spacing;
|
|
24
|
-
|
|
25
|
-
uniform mat4 modelMatrix;
|
|
26
|
-
uniform mat4 modelViewMatrix;
|
|
27
|
-
uniform mat4 projectionMatrix;
|
|
28
|
-
uniform mat4 viewMatrix;
|
|
29
|
-
uniform mat4 uViewInv;
|
|
30
|
-
|
|
31
|
-
uniform float uScreenWidth;
|
|
32
|
-
uniform float uScreenHeight;
|
|
33
|
-
uniform float fov;
|
|
34
|
-
uniform float near;
|
|
35
|
-
uniform float far;
|
|
36
|
-
|
|
37
|
-
uniform bool uDebug;
|
|
38
|
-
|
|
39
|
-
uniform bool uUseOrthographicCamera;
|
|
40
|
-
uniform float uOrthoWidth;
|
|
41
|
-
uniform float uOrthoHeight;
|
|
42
|
-
|
|
43
|
-
#define CLIPTASK_NONE 0
|
|
44
|
-
#define CLIPTASK_HIGHLIGHT 1
|
|
45
|
-
#define CLIPTASK_SHOW_INSIDE 2
|
|
46
|
-
#define CLIPTASK_SHOW_OUTSIDE 3
|
|
47
|
-
|
|
48
|
-
#define CLIPMETHOD_INSIDE_ANY 0
|
|
49
|
-
#define CLIPMETHOD_INSIDE_ALL 1
|
|
50
|
-
|
|
51
|
-
uniform int clipTask;
|
|
52
|
-
uniform int clipMethod;
|
|
53
|
-
|
|
54
|
-
#if defined(num_clipboxes) && num_clipboxes > 0
|
|
55
|
-
uniform mat4 clipBoxes[num_clipboxes];
|
|
56
|
-
#endif
|
|
57
|
-
|
|
58
|
-
#if defined(num_clipspheres) && num_clipspheres > 0
|
|
59
|
-
uniform mat4 uClipSpheres[num_clipspheres];
|
|
60
|
-
#endif
|
|
61
|
-
|
|
62
|
-
#if defined(num_clippolygons) && num_clippolygons > 0
|
|
63
|
-
uniform int uClipPolygonVCount[num_clippolygons];
|
|
64
|
-
uniform vec3 uClipPolygonVertices[num_clippolygons * 8];
|
|
65
|
-
uniform mat4 uClipPolygonWVP[num_clippolygons];
|
|
66
|
-
#endif
|
|
67
|
-
|
|
68
|
-
uniform float size;
|
|
69
|
-
uniform float minSize;
|
|
70
|
-
uniform float maxSize;
|
|
71
|
-
|
|
72
|
-
uniform float uPCIndex;
|
|
73
|
-
uniform float uOctreeSpacing;
|
|
74
|
-
uniform float uNodeSpacing;
|
|
75
|
-
uniform float uOctreeSize;
|
|
76
|
-
uniform vec3 uBBSize;
|
|
77
|
-
uniform float uLevel;
|
|
78
|
-
uniform float uVNStart;
|
|
79
|
-
uniform bool uIsLeafNode;
|
|
80
|
-
|
|
81
|
-
uniform vec3 uColor;
|
|
82
|
-
uniform float uOpacity;
|
|
83
|
-
|
|
84
|
-
uniform vec2 elevationRange;
|
|
85
|
-
uniform vec2 intensityRange;
|
|
86
|
-
uniform float intensityGamma;
|
|
87
|
-
uniform float intensityContrast;
|
|
88
|
-
uniform float intensityBrightness;
|
|
89
|
-
uniform float rgbGamma;
|
|
90
|
-
uniform float rgbContrast;
|
|
91
|
-
uniform float rgbBrightness;
|
|
92
|
-
uniform float uTransition;
|
|
93
|
-
uniform float wRGB;
|
|
94
|
-
uniform float wIntensity;
|
|
95
|
-
uniform float wElevation;
|
|
96
|
-
uniform float wClassification;
|
|
97
|
-
uniform float wReturnNumber;
|
|
98
|
-
uniform float wSourceID;
|
|
99
|
-
|
|
100
|
-
uniform vec3 uShadowColor;
|
|
101
|
-
|
|
102
|
-
uniform sampler2D visibleNodes;
|
|
103
|
-
uniform sampler2D gradient;
|
|
104
|
-
uniform sampler2D classificationLUT;
|
|
105
|
-
|
|
106
|
-
#if defined(num_shadowmaps) && num_shadowmaps > 0
|
|
107
|
-
uniform sampler2D uShadowMap[num_shadowmaps];
|
|
108
|
-
uniform mat4 uShadowWorldView[num_shadowmaps];
|
|
109
|
-
uniform mat4 uShadowProj[num_shadowmaps];
|
|
110
|
-
#endif
|
|
111
|
-
|
|
112
|
-
varying vec3 vColor;
|
|
113
|
-
varying float vLogDepth;
|
|
114
|
-
varying vec3 vViewPosition;
|
|
115
|
-
varying float vRadius;
|
|
116
|
-
varying float vPointSize;
|
|
117
|
-
|
|
118
|
-
float round(float number)
|
|
119
|
-
{
|
|
120
|
-
return floor(number + 0.5);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
//---------------------
|
|
124
|
-
//OCTREE
|
|
125
|
-
//---------------------
|
|
126
|
-
|
|
127
|
-
#if (defined(adaptive_point_size) || defined(color_type_lod)) && defined(tree_type_octree)
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* number of 1-bits up to inclusive index position
|
|
131
|
-
* number is treated as if it were an integer in the range 0-255
|
|
132
|
-
*/
|
|
133
|
-
int numberOfOnes(int number, int index)
|
|
134
|
-
{
|
|
135
|
-
int numOnes = 0;
|
|
136
|
-
int tmp = 128;
|
|
137
|
-
|
|
138
|
-
for(int i = 7; i >= 0; i--)
|
|
139
|
-
{
|
|
140
|
-
if(number >= tmp)
|
|
141
|
-
{
|
|
142
|
-
number = number - tmp;
|
|
143
|
-
|
|
144
|
-
if(i <= index)
|
|
145
|
-
{
|
|
146
|
-
numOnes++;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
tmp = tmp / 2;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return numOnes;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* checks whether the bit at index is 1
|
|
158
|
-
* number is treated as if it were an integer in the range 0-255
|
|
159
|
-
*/
|
|
160
|
-
bool isBitSet(int number, int index)
|
|
161
|
-
{
|
|
162
|
-
//weird multi else if due to lack of proper array, int and bitwise support in WebGL 1.0
|
|
163
|
-
int powi = 1;
|
|
164
|
-
|
|
165
|
-
if(index == 0)
|
|
166
|
-
{
|
|
167
|
-
powi = 1;
|
|
168
|
-
}
|
|
169
|
-
else if(index == 1)
|
|
170
|
-
{
|
|
171
|
-
powi = 2;
|
|
172
|
-
}
|
|
173
|
-
else if(index == 2)
|
|
174
|
-
{
|
|
175
|
-
powi = 4;
|
|
176
|
-
}
|
|
177
|
-
else if(index == 3)
|
|
178
|
-
{
|
|
179
|
-
powi = 8;
|
|
180
|
-
}
|
|
181
|
-
else if(index == 4)
|
|
182
|
-
{
|
|
183
|
-
powi = 16;
|
|
184
|
-
}
|
|
185
|
-
else if(index == 5)
|
|
186
|
-
{
|
|
187
|
-
powi = 32;
|
|
188
|
-
}
|
|
189
|
-
else if(index == 6)
|
|
190
|
-
{
|
|
191
|
-
powi = 64;
|
|
192
|
-
}
|
|
193
|
-
else if(index == 7)
|
|
194
|
-
{
|
|
195
|
-
powi = 128;
|
|
196
|
-
}
|
|
197
|
-
else
|
|
198
|
-
{
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
int ndp = number / powi;
|
|
203
|
-
|
|
204
|
-
return mod(float(ndp), 2.0) != 0.0;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* find the LOD at the point position
|
|
209
|
-
*/
|
|
210
|
-
float getLOD()
|
|
211
|
-
{
|
|
212
|
-
vec3 offset = vec3(0.0, 0.0, 0.0);
|
|
213
|
-
int iOffset = int(uVNStart);
|
|
214
|
-
float depth = uLevel;
|
|
215
|
-
|
|
216
|
-
for(float i = 0.0; i <= 30.0; i++)
|
|
217
|
-
{
|
|
218
|
-
float nodeSizeAtLevel = uOctreeSize / pow(2.0, i + uLevel + 0.0);
|
|
219
|
-
|
|
220
|
-
vec3 index3d = (position-offset) / nodeSizeAtLevel;
|
|
221
|
-
index3d = floor(index3d + 0.5);
|
|
222
|
-
int index = int(round(4.0 * index3d.x + 2.0 * index3d.y + index3d.z));
|
|
223
|
-
|
|
224
|
-
vec4 value = texture2D(visibleNodes, vec2(float(iOffset) / 2048.0, 0.0));
|
|
225
|
-
int mask = int(round(value.r * 255.0));
|
|
226
|
-
|
|
227
|
-
if(isBitSet(mask, index))
|
|
228
|
-
{
|
|
229
|
-
//there are more visible child nodes at this position
|
|
230
|
-
int advanceG = int(round(value.g * 255.0)) * 256;
|
|
231
|
-
int advanceB = int(round(value.b * 255.0));
|
|
232
|
-
int advanceChild = numberOfOnes(mask, index - 1);
|
|
233
|
-
int advance = advanceG + advanceB + advanceChild;
|
|
234
|
-
|
|
235
|
-
iOffset = iOffset + advance;
|
|
236
|
-
|
|
237
|
-
depth++;
|
|
238
|
-
}
|
|
239
|
-
else
|
|
240
|
-
{
|
|
241
|
-
//no more visible child nodes at this position
|
|
242
|
-
return value.a * 255.0;
|
|
243
|
-
//return depth;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
offset = offset + (vec3(1.0, 1.0, 1.0) * nodeSizeAtLevel * 0.5) * index3d;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
return depth;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
float getSpacing()
|
|
253
|
-
{
|
|
254
|
-
vec3 offset = vec3(0.0, 0.0, 0.0);
|
|
255
|
-
int iOffset = int(uVNStart);
|
|
256
|
-
float depth = uLevel;
|
|
257
|
-
float spacing = uNodeSpacing;
|
|
258
|
-
|
|
259
|
-
for(float i = 0.0; i <= 30.0; i++)
|
|
260
|
-
{
|
|
261
|
-
float nodeSizeAtLevel = uOctreeSize / pow(2.0, i + uLevel + 0.0);
|
|
262
|
-
|
|
263
|
-
vec3 index3d = (position-offset) / nodeSizeAtLevel;
|
|
264
|
-
index3d = floor(index3d + 0.5);
|
|
265
|
-
int index = int(round(4.0 * index3d.x + 2.0 * index3d.y + index3d.z));
|
|
266
|
-
|
|
267
|
-
vec4 value = texture2D(visibleNodes, vec2(float(iOffset) / 2048.0, 0.0));
|
|
268
|
-
int mask = int(round(value.r * 255.0));
|
|
269
|
-
float spacingFactor = value.a;
|
|
270
|
-
|
|
271
|
-
if(i > 0.0)
|
|
272
|
-
{
|
|
273
|
-
spacing = spacing / (255.0 * spacingFactor);
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
if(isBitSet(mask, index))
|
|
277
|
-
{
|
|
278
|
-
//there are more visible child nodes at this position
|
|
279
|
-
int advanceG = int(round(value.g * 255.0)) * 256;
|
|
280
|
-
int advanceB = int(round(value.b * 255.0));
|
|
281
|
-
int advanceChild = numberOfOnes(mask, index - 1);
|
|
282
|
-
int advance = advanceG + advanceB + advanceChild;
|
|
283
|
-
|
|
284
|
-
iOffset = iOffset + advance;
|
|
285
|
-
|
|
286
|
-
depth++;
|
|
287
|
-
}
|
|
288
|
-
else
|
|
289
|
-
{
|
|
290
|
-
//no more visible child nodes at this position
|
|
291
|
-
return spacing;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
offset = offset + (vec3(1.0, 1.0, 1.0) * nodeSizeAtLevel * 0.5) * index3d;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
return spacing;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
float getPointSizeAttenuation()
|
|
301
|
-
{
|
|
302
|
-
return pow(2.0, getLOD());
|
|
303
|
-
}
|
|
304
|
-
#endif
|
|
305
|
-
|
|
306
|
-
//---------------------
|
|
307
|
-
//KD-TREE
|
|
308
|
-
//---------------------
|
|
309
|
-
#if (defined(adaptive_point_size) || defined(color_type_lod)) && defined(tree_type_kdtree)
|
|
310
|
-
float getLOD()
|
|
311
|
-
{
|
|
312
|
-
vec3 offset = vec3(0.0, 0.0, 0.0);
|
|
313
|
-
float iOffset = 0.0;
|
|
314
|
-
float depth = 0.0;
|
|
315
|
-
|
|
316
|
-
vec3 size = uBBSize;
|
|
317
|
-
vec3 pos = position;
|
|
318
|
-
|
|
319
|
-
for(float i = 0.0; i <= 1000.0; i++)
|
|
320
|
-
{
|
|
321
|
-
vec4 value = texture2D(visibleNodes, vec2(iOffset / 2048.0, 0.0));
|
|
322
|
-
|
|
323
|
-
int children = int(value.r * 255.0);
|
|
324
|
-
float next = value.g * 255.0;
|
|
325
|
-
int split = int(value.b * 255.0);
|
|
326
|
-
|
|
327
|
-
if(next == 0.0)
|
|
328
|
-
{
|
|
329
|
-
return depth;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
vec3 splitv = vec3(0.0, 0.0, 0.0);
|
|
333
|
-
if(split == 1)
|
|
334
|
-
{
|
|
335
|
-
splitv.x = 1.0;
|
|
336
|
-
}
|
|
337
|
-
else if(split == 2)
|
|
338
|
-
{
|
|
339
|
-
splitv.y = 1.0;
|
|
340
|
-
}
|
|
341
|
-
else if(split == 4)
|
|
342
|
-
{
|
|
343
|
-
splitv.z = 1.0;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
iOffset = iOffset + next;
|
|
347
|
-
|
|
348
|
-
float factor = length(pos * splitv / size);
|
|
349
|
-
|
|
350
|
-
//Left
|
|
351
|
-
if(factor < 0.5)
|
|
352
|
-
{
|
|
353
|
-
if(children == 0 || children == 2)
|
|
354
|
-
{
|
|
355
|
-
return depth;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
//Right
|
|
359
|
-
else
|
|
360
|
-
{
|
|
361
|
-
pos = pos - size * splitv * 0.5;
|
|
362
|
-
if(children == 0 || children == 1)
|
|
363
|
-
{
|
|
364
|
-
return depth;
|
|
365
|
-
}
|
|
366
|
-
if(children == 3)
|
|
367
|
-
{
|
|
368
|
-
iOffset = iOffset + 1.0;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
size = size * ((1.0 - (splitv + 1.0) / 2.0) + 0.5);
|
|
373
|
-
depth++;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
return depth;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
float getPointSizeAttenuation()
|
|
380
|
-
{
|
|
381
|
-
return 0.5 * pow(1.3, getLOD());
|
|
382
|
-
}
|
|
383
|
-
#endif
|
|
384
|
-
|
|
385
|
-
//formula adapted from: http://www.dfstudios.co.uk/articles/programming/image-programming-algorithms/image-processing-algorithms-part-5-contrast-adjustment/
|
|
386
|
-
float getContrastFactor(float contrast)
|
|
387
|
-
{
|
|
388
|
-
return (1.0158730158730156 * (contrast + 1.0)) / (1.0158730158730156 - contrast);
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
vec3 getRGB()
|
|
392
|
-
{
|
|
393
|
-
vec3 rgb = color;
|
|
394
|
-
|
|
395
|
-
rgb = pow(rgb, vec3(rgbGamma));
|
|
396
|
-
rgb = rgb + rgbBrightness;
|
|
397
|
-
rgb = clamp(rgb, 0.0, 1.0);
|
|
398
|
-
|
|
399
|
-
return rgb;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
float getIntensity()
|
|
403
|
-
{
|
|
404
|
-
float w = (intensity - intensityRange.x) / (intensityRange.y - intensityRange.x);
|
|
405
|
-
w = pow(w, intensityGamma);
|
|
406
|
-
w = w + intensityBrightness;
|
|
407
|
-
w = (w - 0.5) * getContrastFactor(intensityContrast) + 0.5;
|
|
408
|
-
w = clamp(w, 0.0, 1.0);
|
|
409
|
-
|
|
410
|
-
return w;
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
vec3 getElevation()
|
|
414
|
-
{
|
|
415
|
-
vec4 world = modelMatrix * vec4( position, 1.0 );
|
|
416
|
-
float w = (world.z - elevationRange.x) / (elevationRange.y - elevationRange.x);
|
|
417
|
-
return texture2D(gradient, vec2(w,1.0-w)).rgb;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
vec4 getClassification()
|
|
421
|
-
{
|
|
422
|
-
vec2 uv = vec2(classification / 255.0, 0.5);
|
|
423
|
-
return texture2D(classificationLUT, uv);
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
vec3 getReturnNumber()
|
|
427
|
-
{
|
|
428
|
-
if(numberOfReturns == 1.0)
|
|
429
|
-
{
|
|
430
|
-
return vec3(1.0, 1.0, 0.0);
|
|
431
|
-
}
|
|
432
|
-
else
|
|
433
|
-
{
|
|
434
|
-
if(returnNumber == 1.0)
|
|
435
|
-
{
|
|
436
|
-
return vec3(1.0, 0.0, 0.0);
|
|
437
|
-
}
|
|
438
|
-
else if(returnNumber == numberOfReturns)
|
|
439
|
-
{
|
|
440
|
-
return vec3(0.0, 0.0, 1.0);
|
|
441
|
-
}
|
|
442
|
-
else
|
|
443
|
-
{
|
|
444
|
-
return vec3(0.0, 1.0, 0.0);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
vec3 getSourceID()
|
|
450
|
-
{
|
|
451
|
-
float w = mod(pointSourceID, 10.0) / 10.0;
|
|
452
|
-
return texture2D(gradient, vec2(w,1.0 - w)).rgb;
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
vec3 getCompositeColor()
|
|
456
|
-
{
|
|
457
|
-
vec3 c;
|
|
458
|
-
float w;
|
|
459
|
-
|
|
460
|
-
c += wRGB * getRGB();
|
|
461
|
-
w += wRGB;
|
|
462
|
-
|
|
463
|
-
c += wIntensity * getIntensity() * vec3(1.0, 1.0, 1.0);
|
|
464
|
-
w += wIntensity;
|
|
465
|
-
|
|
466
|
-
c += wElevation * getElevation();
|
|
467
|
-
w += wElevation;
|
|
468
|
-
|
|
469
|
-
c += wReturnNumber * getReturnNumber();
|
|
470
|
-
w += wReturnNumber;
|
|
471
|
-
|
|
472
|
-
c += wSourceID * getSourceID();
|
|
473
|
-
w += wSourceID;
|
|
474
|
-
|
|
475
|
-
vec4 cl = wClassification * getClassification();
|
|
476
|
-
c += cl.a * cl.rgb;
|
|
477
|
-
w += wClassification * cl.a;
|
|
478
|
-
|
|
479
|
-
c = c / w;
|
|
480
|
-
|
|
481
|
-
if(w == 0.0)
|
|
482
|
-
{
|
|
483
|
-
gl_Position = vec4(100.0, 100.0, 100.0, 0.0);
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
return c;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
vec3 getColor()
|
|
490
|
-
{
|
|
491
|
-
vec3 color;
|
|
492
|
-
|
|
493
|
-
#ifdef color_type_rgb
|
|
494
|
-
color = getRGB();
|
|
495
|
-
#elif defined color_type_height
|
|
496
|
-
color = getElevation();
|
|
497
|
-
#elif defined color_type_rgb_height
|
|
498
|
-
vec3 cHeight = getElevation();
|
|
499
|
-
color = (1.0 - uTransition) * getRGB() + uTransition * cHeight;
|
|
500
|
-
#elif defined color_type_depth
|
|
501
|
-
float linearDepth = gl_Position.w;
|
|
502
|
-
float expDepth = (gl_Position.z / gl_Position.w) * 0.5 + 0.5;
|
|
503
|
-
color = vec3(linearDepth, expDepth, 0.0);
|
|
504
|
-
#elif defined color_type_intensity
|
|
505
|
-
float w = getIntensity();
|
|
506
|
-
color = vec3(w, w, w);
|
|
507
|
-
#elif defined color_type_intensity_gradient
|
|
508
|
-
float w = getIntensity();
|
|
509
|
-
color = texture2D(gradient, vec2(w,1.0-w)).rgb;
|
|
510
|
-
#elif defined color_type_color
|
|
511
|
-
color = uColor;
|
|
512
|
-
#elif defined color_type_lod
|
|
513
|
-
float depth = getLOD();
|
|
514
|
-
float w = depth / 10.0;
|
|
515
|
-
color = texture2D(gradient, vec2(w,1.0-w)).rgb;
|
|
516
|
-
#elif defined color_type_point_index
|
|
517
|
-
color = indices.rgb;
|
|
518
|
-
#elif defined color_type_classification
|
|
519
|
-
vec4 cl = getClassification();
|
|
520
|
-
color = cl.rgb;
|
|
521
|
-
#elif defined color_type_return_number
|
|
522
|
-
color = getReturnNumber();
|
|
523
|
-
#elif defined color_type_source
|
|
524
|
-
color = getSourceID();
|
|
525
|
-
#elif defined color_type_normal
|
|
526
|
-
color = (modelMatrix * vec4(normal, 0.0)).xyz;
|
|
527
|
-
#elif defined color_type_phong
|
|
528
|
-
color = color;
|
|
529
|
-
#elif defined color_type_composite
|
|
530
|
-
color = getCompositeColor();
|
|
531
|
-
#endif
|
|
532
|
-
|
|
533
|
-
return color;
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
float getPointSize()
|
|
537
|
-
{
|
|
538
|
-
float pointSize = 1.0;
|
|
539
|
-
|
|
540
|
-
float slope = tan(fov / 2.0);
|
|
541
|
-
float projFactor = -0.5 * uScreenHeight / (slope * vViewPosition.z);
|
|
542
|
-
|
|
543
|
-
float r = uOctreeSpacing * 1.7;
|
|
544
|
-
vRadius = r;
|
|
545
|
-
|
|
546
|
-
#if defined fixed_point_size
|
|
547
|
-
pointSize = size;
|
|
548
|
-
#elif defined attenuated_point_size
|
|
549
|
-
if(uUseOrthographicCamera)
|
|
550
|
-
{
|
|
551
|
-
pointSize = size;
|
|
552
|
-
}
|
|
553
|
-
else
|
|
554
|
-
{
|
|
555
|
-
pointSize = size * spacing * projFactor;
|
|
556
|
-
}
|
|
557
|
-
#elif defined adaptive_point_size
|
|
558
|
-
if(uUseOrthographicCamera)
|
|
559
|
-
{
|
|
560
|
-
float worldSpaceSize = 1.0 * size * r / getPointSizeAttenuation();
|
|
561
|
-
pointSize = (worldSpaceSize / uOrthoWidth) * uScreenWidth;
|
|
562
|
-
}
|
|
563
|
-
else
|
|
564
|
-
{
|
|
565
|
-
if(uIsLeafNode && false)
|
|
566
|
-
{
|
|
567
|
-
pointSize = size * spacing * projFactor;
|
|
568
|
-
}
|
|
569
|
-
else
|
|
570
|
-
{
|
|
571
|
-
float worldSpaceSize = 1.0 * size * r / getPointSizeAttenuation();
|
|
572
|
-
pointSize = worldSpaceSize * projFactor;
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
#endif
|
|
576
|
-
|
|
577
|
-
pointSize = max(minSize, pointSize);
|
|
578
|
-
pointSize = min(maxSize, pointSize);
|
|
579
|
-
|
|
580
|
-
vRadius = pointSize / projFactor;
|
|
581
|
-
|
|
582
|
-
return pointSize;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
#if defined num_clippolygons && num_clippolygons > 0
|
|
586
|
-
bool pointInClipPolygon(vec3 point, int polyIdx)
|
|
587
|
-
{
|
|
588
|
-
mat4 wvp = uClipPolygonWVP[polyIdx];
|
|
589
|
-
|
|
590
|
-
vec4 pointNDC = wvp * vec4(point, 1.0);
|
|
591
|
-
pointNDC.xy = pointNDC.xy / pointNDC.w;
|
|
592
|
-
|
|
593
|
-
int j = uClipPolygonVCount[polyIdx] - 1;
|
|
594
|
-
bool c = false;
|
|
595
|
-
for(int i = 0; i < 8; i++)
|
|
596
|
-
{
|
|
597
|
-
if(i == uClipPolygonVCount[polyIdx])
|
|
598
|
-
{
|
|
599
|
-
break;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
vec3 verti = uClipPolygonVertices[polyIdx * 8 + i];
|
|
603
|
-
vec3 vertj = uClipPolygonVertices[polyIdx * 8 + j];
|
|
604
|
-
|
|
605
|
-
if(((verti.y > pointNDC.y) != (vertj.y > pointNDC.y)) && (pointNDC.x < (vertj.x-verti.x) * (pointNDC.y-verti.y) / (vertj.y-verti.y) + verti.x))
|
|
606
|
-
{
|
|
607
|
-
c = !c;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
j = i;
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
return c;
|
|
614
|
-
}
|
|
615
|
-
#endif
|
|
616
|
-
|
|
617
|
-
void doClipping()
|
|
618
|
-
{
|
|
619
|
-
#if !defined color_type_composite
|
|
620
|
-
vec4 cl = getClassification();
|
|
621
|
-
if(cl.a == 0.0)
|
|
622
|
-
{
|
|
623
|
-
gl_Position = vec4(100.0, 100.0, 100.0, 0.0);
|
|
624
|
-
|
|
625
|
-
return;
|
|
626
|
-
}
|
|
627
|
-
#endif
|
|
628
|
-
|
|
629
|
-
int clipVolumesCount = 0;
|
|
630
|
-
int insideCount = 0;
|
|
631
|
-
|
|
632
|
-
#if defined(num_clipboxes) && num_clipboxes > 0
|
|
633
|
-
for(int i = 0; i < num_clipboxes; i++)
|
|
634
|
-
{
|
|
635
|
-
vec4 clipPosition = clipBoxes[i] * modelMatrix * vec4( position, 1.0 );
|
|
636
|
-
bool inside = -0.5 <= clipPosition.x && clipPosition.x <= 0.5;
|
|
637
|
-
inside = inside && -0.5 <= clipPosition.y && clipPosition.y <= 0.5;
|
|
638
|
-
inside = inside && -0.5 <= clipPosition.z && clipPosition.z <= 0.5;
|
|
639
|
-
|
|
640
|
-
insideCount = insideCount + (inside ? 1 : 0);
|
|
641
|
-
clipVolumesCount++;
|
|
642
|
-
}
|
|
643
|
-
#endif
|
|
644
|
-
|
|
645
|
-
#if defined(num_clippolygons) && num_clippolygons > 0
|
|
646
|
-
for(int i = 0; i < num_clippolygons; i++)
|
|
647
|
-
{
|
|
648
|
-
bool inside = pointInClipPolygon(position, i);
|
|
649
|
-
|
|
650
|
-
insideCount = insideCount + (inside ? 1 : 0);
|
|
651
|
-
clipVolumesCount++;
|
|
652
|
-
}
|
|
653
|
-
#endif
|
|
654
|
-
|
|
655
|
-
bool insideAny = insideCount > 0;
|
|
656
|
-
bool insideAll = (clipVolumesCount > 0) && (clipVolumesCount == insideCount);
|
|
657
|
-
|
|
658
|
-
if(clipMethod == CLIPMETHOD_INSIDE_ANY)
|
|
659
|
-
{
|
|
660
|
-
if(insideAny && clipTask == CLIPTASK_HIGHLIGHT)
|
|
661
|
-
{
|
|
662
|
-
vColor.r += 0.5;
|
|
663
|
-
}
|
|
664
|
-
else if(!insideAny && clipTask == CLIPTASK_SHOW_INSIDE)
|
|
665
|
-
{
|
|
666
|
-
gl_Position = vec4(100.0, 100.0, 100.0, 1.0);
|
|
667
|
-
}
|
|
668
|
-
else if(insideAny && clipTask == CLIPTASK_SHOW_OUTSIDE)
|
|
669
|
-
{
|
|
670
|
-
gl_Position = vec4(100.0, 100.0, 100.0, 1.0);
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
else if(clipMethod == CLIPMETHOD_INSIDE_ALL)
|
|
674
|
-
{
|
|
675
|
-
if(insideAll && clipTask == CLIPTASK_HIGHLIGHT)
|
|
676
|
-
{
|
|
677
|
-
vColor.r += 0.5;
|
|
678
|
-
}
|
|
679
|
-
else if(!insideAll && clipTask == CLIPTASK_SHOW_INSIDE)
|
|
680
|
-
{
|
|
681
|
-
gl_Position = vec4(100.0, 100.0, 100.0, 1.0);
|
|
682
|
-
}
|
|
683
|
-
else if(insideAll && clipTask == CLIPTASK_SHOW_OUTSIDE)
|
|
684
|
-
{
|
|
685
|
-
gl_Position = vec4(100.0, 100.0, 100.0, 1.0);
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
void main()
|
|
691
|
-
{
|
|
692
|
-
vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);
|
|
693
|
-
vViewPosition = mvPosition.xyz;
|
|
694
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
695
|
-
|
|
696
|
-
vLogDepth = log2(-mvPosition.z);
|
|
697
|
-
|
|
698
|
-
//POINT SIZE
|
|
699
|
-
float pointSize = getPointSize();
|
|
700
|
-
gl_PointSize = pointSize;
|
|
701
|
-
vPointSize = pointSize;
|
|
702
|
-
|
|
703
|
-
` + THREE.ShaderChunk.logdepthbuf_vertex + `
|
|
704
|
-
|
|
705
|
-
//COLOR
|
|
706
|
-
vColor = getColor();
|
|
707
|
-
|
|
708
|
-
#if defined hq_depth_pass
|
|
709
|
-
float originalDepth = gl_Position.w;
|
|
710
|
-
float adjustedDepth = originalDepth + 2.0 * vRadius;
|
|
711
|
-
float adjust = adjustedDepth / originalDepth;
|
|
712
|
-
|
|
713
|
-
mvPosition.xyz = mvPosition.xyz * adjust;
|
|
714
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
715
|
-
#endif
|
|
716
|
-
|
|
717
|
-
//CLIPPING
|
|
718
|
-
doClipping();
|
|
719
|
-
|
|
720
|
-
#if defined num_clipspheres && num_clipspheres > 0
|
|
721
|
-
for(int i = 0; i < num_clipspheres; i++)
|
|
722
|
-
{
|
|
723
|
-
vec4 sphereLocal = uClipSpheres[i] * mvPosition;
|
|
724
|
-
|
|
725
|
-
float distance = length(sphereLocal.xyz);
|
|
726
|
-
|
|
727
|
-
if(distance < 1.0)
|
|
728
|
-
{
|
|
729
|
-
float w = distance;
|
|
730
|
-
vec3 cGradient = texture2D(gradient, vec2(w, 1.0 - w)).rgb;
|
|
731
|
-
|
|
732
|
-
vColor = cGradient;
|
|
733
|
-
}
|
|
734
|
-
}
|
|
735
|
-
#endif
|
|
736
|
-
|
|
737
|
-
#if defined num_shadowmaps && num_shadowmaps > 0
|
|
738
|
-
|
|
739
|
-
const float sm_near = 0.1;
|
|
740
|
-
const float sm_far = 10000.0;
|
|
741
|
-
|
|
742
|
-
for(int i = 0; i < num_shadowmaps; i++)
|
|
743
|
-
{
|
|
744
|
-
vec3 viewPos = (uShadowWorldView[i] * vec4(position, 1.0)).xyz;
|
|
745
|
-
float distanceToLight = abs(viewPos.z);
|
|
746
|
-
|
|
747
|
-
vec4 projPos = uShadowProj[i] * uShadowWorldView[i] * vec4(position, 1);
|
|
748
|
-
vec3 nc = projPos.xyz / projPos.w;
|
|
749
|
-
|
|
750
|
-
float u = nc.x * 0.5 + 0.5;
|
|
751
|
-
float v = nc.y * 0.5 + 0.5;
|
|
752
|
-
|
|
753
|
-
vec2 sampleStep = vec2(1.0 / (2.0*1024.0), 1.0 / (2.0*1024.0)) * 1.5;
|
|
754
|
-
vec2 sampleLocations[9];
|
|
755
|
-
|
|
756
|
-
sampleLocations[0] = vec2(0.0, 0.0);
|
|
757
|
-
sampleLocations[1] = sampleStep;
|
|
758
|
-
sampleLocations[2] = -sampleStep;
|
|
759
|
-
sampleLocations[3] = vec2(sampleStep.x, -sampleStep.y);
|
|
760
|
-
sampleLocations[4] = vec2(-sampleStep.x, sampleStep.y);
|
|
761
|
-
sampleLocations[5] = vec2(0.0, sampleStep.y);
|
|
762
|
-
sampleLocations[6] = vec2(0.0, -sampleStep.y);
|
|
763
|
-
sampleLocations[7] = vec2(sampleStep.x, 0.0);
|
|
764
|
-
sampleLocations[8] = vec2(-sampleStep.x, 0.0);
|
|
765
|
-
|
|
766
|
-
float visibleSamples = 0.0;
|
|
767
|
-
float numSamples = 0.0;
|
|
768
|
-
|
|
769
|
-
float bias = vRadius * 2.0;
|
|
770
|
-
|
|
771
|
-
for(int j = 0; j < 9; j++)
|
|
772
|
-
{
|
|
773
|
-
vec4 depthMapValue = texture2D(uShadowMap[i], vec2(u, v) + sampleLocations[j]);
|
|
774
|
-
|
|
775
|
-
float linearDepthFromSM = depthMapValue.x + bias;
|
|
776
|
-
float linearDepthFromViewer = distanceToLight;
|
|
777
|
-
|
|
778
|
-
if(linearDepthFromSM > linearDepthFromViewer)
|
|
779
|
-
{
|
|
780
|
-
visibleSamples += 1.0;
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
numSamples += 1.0;
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
float visibility = visibleSamples / numSamples;
|
|
787
|
-
|
|
788
|
-
if(u < 0.0 || u > 1.0 || v < 0.0 || v > 1.0 || nc.x < -1.0 || nc.x > 1.0 || nc.y < -1.0 || nc.y > 1.0 || nc.z < -1.0 || nc.z > 1.0)
|
|
789
|
-
{
|
|
790
|
-
//vColor = vec3(0.0, 0.0, 0.2);
|
|
791
|
-
}
|
|
792
|
-
else
|
|
793
|
-
{
|
|
794
|
-
vColor = vColor * visibility + vColor * uShadowColor * (1.0 - visibility);
|
|
795
|
-
}
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
#endif
|
|
799
|
-
}`;
|
|
800
|
-
|
|
801
|
-
//"pointcloud.fs"
|
|
802
|
-
Shaders.fragment = `
|
|
803
|
-
|
|
804
|
-
#if defined USE_LOGDEPTHBUF_EXT || defined paraboloid_point_shape
|
|
805
|
-
#extension GL_EXT_frag_depth : enable
|
|
806
|
-
#endif
|
|
807
|
-
|
|
808
|
-
precision highp float;
|
|
809
|
-
precision highp int;
|
|
810
|
-
|
|
811
|
-
` + THREE.ShaderChunk.logdepthbuf_pars_fragment + `
|
|
812
|
-
|
|
813
|
-
uniform mat4 viewMatrix;
|
|
814
|
-
uniform mat4 uViewInv;
|
|
815
|
-
uniform mat4 uProjInv;
|
|
816
|
-
uniform vec3 cameraPosition;
|
|
817
|
-
|
|
818
|
-
uniform mat4 projectionMatrix;
|
|
819
|
-
uniform float uOpacity;
|
|
820
|
-
|
|
821
|
-
uniform float blendHardness;
|
|
822
|
-
uniform float blendDepthSupplement;
|
|
823
|
-
uniform float fov;
|
|
824
|
-
uniform float uSpacing;
|
|
825
|
-
uniform float near;
|
|
826
|
-
uniform float far;
|
|
827
|
-
uniform float uPCIndex;
|
|
828
|
-
uniform float uScreenWidth;
|
|
829
|
-
uniform float uScreenHeight;
|
|
830
|
-
|
|
831
|
-
varying vec3 vColor;
|
|
832
|
-
varying float vLogDepth;
|
|
833
|
-
varying vec3 vViewPosition;
|
|
834
|
-
varying float vRadius;
|
|
835
|
-
varying float vPointSize;
|
|
836
|
-
varying vec3 vPosition;
|
|
837
|
-
|
|
838
|
-
void main()
|
|
839
|
-
{
|
|
840
|
-
vec3 color = vColor;
|
|
841
|
-
float depth = gl_FragCoord.z;
|
|
842
|
-
|
|
843
|
-
#if defined circle_point_shape || defined paraboloid_point_shape
|
|
844
|
-
float u = (2.0 * gl_PointCoord.x) - 1.0;
|
|
845
|
-
float v = (2.0 * gl_PointCoord.y) - 1.0;
|
|
846
|
-
#endif
|
|
847
|
-
|
|
848
|
-
#if defined circle_point_shape
|
|
849
|
-
float cc = (u*u) + (v*v);
|
|
850
|
-
if(cc > 1.0)
|
|
851
|
-
{
|
|
852
|
-
discard;
|
|
853
|
-
}
|
|
854
|
-
#endif
|
|
855
|
-
|
|
856
|
-
#if defined color_type_point_index
|
|
857
|
-
gl_FragColor = vec4(color, uPCIndex / 255.0);
|
|
858
|
-
#else
|
|
859
|
-
gl_FragColor = vec4(color, uOpacity);
|
|
860
|
-
#endif
|
|
861
|
-
|
|
862
|
-
#if defined paraboloid_point_shape
|
|
863
|
-
float wi = -( u*u + v*v);
|
|
864
|
-
vec4 pos = vec4(vViewPosition, 1.0);
|
|
865
|
-
pos.z += wi * vRadius;
|
|
866
|
-
float linearDepth = -pos.z;
|
|
867
|
-
pos = projectionMatrix * pos;
|
|
868
|
-
pos = pos / pos.w;
|
|
869
|
-
float expDepth = pos.z;
|
|
870
|
-
depth = (pos.z + 1.0) / 2.0;
|
|
871
|
-
|
|
872
|
-
gl_FragDepthEXT = depth;
|
|
873
|
-
|
|
874
|
-
#if defined color_type_depth
|
|
875
|
-
color.r = linearDepth;
|
|
876
|
-
color.g = expDepth;
|
|
877
|
-
#endif
|
|
878
|
-
#endif
|
|
879
|
-
|
|
880
|
-
` + THREE.ShaderChunk.logdepthbuf_fragment + `
|
|
881
|
-
|
|
882
|
-
#if defined weighted_splats
|
|
883
|
-
float distance = 2.0 * length(gl_PointCoord.xy - 0.5);
|
|
884
|
-
float weight = max(0.0, 1.0 - distance);
|
|
885
|
-
weight = pow(weight, 1.5);
|
|
886
|
-
|
|
887
|
-
gl_FragColor.a = weight;
|
|
888
|
-
gl_FragColor.xyz = gl_FragColor.xyz * weight;
|
|
889
|
-
#endif
|
|
890
|
-
}`;
|
|
891
|
-
|
|
892
|
-
export {Shaders};
|