Difference between revisions of "XB PointStream"
(→Parser Interface) |
(→Parser Interface) |
||
Line 34: | Line 34: | ||
<pre> | <pre> | ||
/* | /* | ||
− | Add an event listener to the parser. Once the event | + | Add an event listener to the parser. Once the event occurs, the parser |
− | associated function | + | will call the associated function and pass in a reference to itself. |
− | to itself | + | |
+ | The parser needs to pass itself back to the library since the library could | ||
+ | be working with many parsers simultaneously. | ||
− | @param {String} eventName - can be | + | @param {String} eventName - can be one of the following: |
− | "onstart" - must occur exactly once | + | "onstart" - must occur exactly once - func(parser) |
− | "onparse" - must occur one or many times | + | "onparse" - must occur one or many times - func(parser, {"VERTEX":[...], "COLOR":[...], etc...} |
− | "onfinish" - must occur exactly once | + | "onfinish" - must occur exactly once - func(parser) |
"hook" - ? | "hook" - ? | ||
− | @param {Function} func - the function to call when the event occurs | + | @param {Function} func - the function to call when the event occurs. |
*/ | */ | ||
addEventListener(eventName, func) | addEventListener(eventName, func) | ||
Line 51: | Line 53: | ||
Begins to load the resource | Begins to load the resource | ||
− | @param {String} path - | + | @param {String} path - path to resource |
*/ | */ | ||
load(path) | load(path) |
Revision as of 15:59, 23 November 2010
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 occurs, the parser will call the associated function and pass in a reference to itself. The parser needs to pass itself back to the library since the library could be working with many parsers simultaneously. @param {String} eventName - can be one of the following: "onstart" - must occur exactly once - func(parser) "onparse" - must occur one or many times - func(parser, {"VERTEX":[...], "COLOR":[...], etc...} "onfinish" - must occur exactly once - func(parser) "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