XB PointStream/specs

From CDOT Wiki
Revision as of 19:16, 25 June 2010 by Asalga (talk | contribs)
Jump to: navigation, search

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 (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
  • Get/Set attenuation

Lighting

  • Set material
  • Set Light

File

  • Load multiple PSI files (Data URL)
  • Toggle streaming
  • Get file status and progress
  • Auto-center option

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?)