XB PointStream
Contents
Releases
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.
XBPS 0.1
XBPS 0.2
XBPS 0.3
XBPS 0.4
XBPS 0.4.5 [Only Lib | Full]
XB PointStream Dev Links
3D Image Gallery
Blogs
Specifications
LightHouse
Github
Twitter
YouTube Videos
Development Resources
WebGL Specification
WebGL Cheat Sheet
OpenGLES 2.0 man pages
Parser Interface
/* Add an event listener to the parser. Once the event fires, the associated function will be called, which will pass in a reference to itself. This way the library knows which parser it is working with. @param {String} eventName - can be "onstart" - must occur exactly once "onparse" - must occur one or many times "onfinish" - must occur exactly once "hook" - ? @param {Function} func - the function to call when the event occurs */ addEventListener(eventName, func) /* Begins to load the resource @param {String} path - Path to resource */ load(path) /* Get the version of this parser. @returns {String} parser version */ getVersion() /* Get the number of points which have been parsed. @returns {Number} the number of points parsed so far by the parser. */ getNumParsedPoints() /* Get the total number of points in the point cloud, including points which have not yet been parsed. @returns {Number} the total number of points in the resource or -1 if unknown. */ getNumTotalPoints() /* Get the progress of the parser, how much it has parsed so far. @returns {Number} value from 0 to 1 or -1 if unknown. */ getProgress() /* The size of the resource in bytes. @returns {Number} the number of bytes in the resource or -1 if unknown. */ getFileSize()
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 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