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)
- DataURL
- FrontImageURL
- FrameImageURL
- BackgroundImageURL
- DataEmbedded
- BackgroundImageAsTile
- PixelSize
- CameraMode
- CameraPosition
- MouseMode
- ZoomingLevel
- PlayerBkColor
- BoundingBoxRatio
- EnableBkTransparency
- ImageRenderingQuality
- StereoOn
- EnableBackfaceCull
- Light1On
- Light1CoordSys
- Light1Azimuth
- Light1Elevation
- Light1AmbientColor
- Light1AmbientIntensity
- Light1DiffuseColor
- Light1DiffuseIntensity
- Light1SpecularColor
- Light1SpecularIntensity
- MaterialLightOn
- MaterialShininess
- MaterialAmbientColor
- MaterialDiffuseColor
- MaterialSpecularColor
- ShadowOn
- TransparencyOn
- EnableAntialiasing
- AnimationPathURL
To discuss:
- What file formats should be supported? ASC, PSI, DAE, ZAE, ...
RC specs
Rendering
- Draw set of points
- Get FPS
- Set background color
Lighting
- Set material
- Set Light
File
- Open PSI file
- Toggle streaming
- Get file progress
Transformation
- Set rotation
- Set translation
- Set scale
View
- Set canvas size
- Set projection(perspective, ortho, user)
- 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?)