A cross-browser JavaScript tool which will emulate Arius3D's PointStream viewer. It will be able to quickly render a large amount of point cloud data to the <canvas> tag using WebGL.
XB PointStream Dev Links:
3D Gallery
Specifications
LightHouse
Github
Twitter
Development Resources:
GPU Gems
GPU Gems 2
WebGL Specification
WebGL Cheat Sheet
OpenGLES 2.0 man pages
Performance Issue Ideas
- Spatially partition point cloud into Bounding volume hierarchy and do bounding volume frustum culling
- Do static rendering
- Render low LOD when rotating point cloud
- Push as much as we can to CPU and GPU
- Use GL_ARB_occlusion_query to cull points which do not contribute to the scene (render BB of octant and count contributing fragments). This can be used for culling 'backface points'
- Use progressive "mesh" optimization to render objects if they are far from the camera
- Allow user to control LOD
- Stream point cloud, dynamically create and merge bounding volumes
- Pre-create Bounding volume hierarchy