Open main menu

CDOT Wiki β

XB PointStream/specs

XB PointStream must be a general purpose tool for rendering 3D images composed of
point cloud data any WebGL browser.

  1. Needs to render a 3D image quickly in any WebGL browser
  2. Must support camera manipulation
  3. 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)

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

Misc

?

  • User-defined shaders
  • LOD (if 1/2 million points render fine on MBP, do we need this?)