XB PointStream/specs
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 (what is this?)
- BackgroundImageURL
- DataEmbedded (?)
- BackgroundImageAsTile
- PixelSize
- 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 frameCount
- Set background color (0-1) and transparency
- Toggle looping
- Toggle bounding box
Lighting
- Set material
- Set Light
File
- Open multiple PSI files (Data URL)
- Toggle streaming
- Get file progress
Transformation
- Set rotation
- Set translation
- Set scale (uniform & non-uniform)
View
- Set canvas size
- Set projection(perspective, orthographic, user-defined)
- Set camera
- Switch between cameras
- Fit object to viewport
Input
- Mouse wheel
- Mouse cursor
- Keyboard
Misc
- Take screenshot
?
- User-defined shaders
- LOD (if 1/2 million points render fine on MBP, do we need this?)