XB PointStream must be a general purpose tool for rendering 3D images composed of
point cloud data any WebGL browser.
- Needs to render a 3D image quickly in any WebGL browser
- Must support camera manipulation
- Needs to support some of the following HTML parameters:
(This still needs to be discussed)
CR = cloud renderer (general app)
- FrontImageURL
- FrameImageURL (?)
- BackgroundImageURL
- DataEmbedded (?)
- BackgroundImageAsTile
- PixelSize ? (PointSize?)
- ShadowOn
- EnableAntialiasing
- AnimationPathURL
- ZoomingLevel
- PlayerBkColor
- BoundingBoxRatio (?)
- ImageRenderingQuality
- StereoOn
- DataURL (CR)
- CameraMode (CR)
- CameraPosition (CR)
- MouseMode (CR)
- EnableBkTransparency (CR)
- TransparencyOn (CR)
- EnableBackfaceCull (CR)
(will be in CR)
- Light1On
- Light1CoordSys
- Light1Azimuth
- Light1Elevation
- Light1AmbientColor
- Light1AmbientIntensity
- Light1DiffuseColor
- Light1DiffuseIntensity
- Light1SpecularColor
- Light1SpecularIntensity
(will be in CR)
- MaterialLightOn
- MaterialShininess
- MaterialAmbientColor
- MaterialDiffuseColor
- MaterialSpecularColor
To discuss:
- What file formats should be supported? ASC, PSI, DAE, ZAE, ...
"CR" specs
Rendering
- Draw multiple point clouds
- Set point cloud transparency (0-1)
- Toggle backface culling
- Get/Set frameRate (Get is done)
- Get frameCount (Done)
- Set background color (0-1) and transparency (Done)
- Toggle looping
- Toggle bounding box
- Add point attenuation
Lighting
File
- Load multiple point clouds (Data URL)
- Toggle streaming
- Get file status and progress
- Auto-center option (Done)
Transformation
- Set rotation (Done)
- Set translation (Done)
- Set scale (Done)
View
- Set canvas size (resize done)
- Set projection(perspective, orthographic, user-defined)
- Set camera
- Switch between cameras
- Fit object to viewport
Input
- Add mouse support
- Mouse cursor
- Keyboard
Misc
?
- User-defined shaders
- LOD (if 1/2 million points render fine on MBP, do we need this?)