Difference between revisions of "XB PointStream/specs"

From CDOT Wiki
Jump to: navigation, search
(Created page with '<h2>XB PointStream Specifications</h2> XB PointStream must be a cross-browser JavaScript tool which will emulate Arius3D's PointStream viewer.<br /> It must be able to quickly r…')
 
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
<h2>XB PointStream Specifications</h2>
+
XB PointStream must be a general purpose tool for rendering 3D images composed of <br />
 +
point cloud data any WebGL browser.
  
XB PointStream must be a cross-browser JavaScript tool which will emulate Arius3D's PointStream viewer.<br />
+
# Needs to render a 3D image quickly in any WebGL browser
It must be able to quickly render a large amount of point cloud data within the 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)
  
# Needs to render a 3D image in a canvas quickly on Minefield, Chrome and Webkit
 
# Needs to allow panning, zooming and rotating
 
# Needs to support the following HTML parameters:
 
*DataURL
 
 
*FrontImageURL
 
*FrontImageURL
*FrameImageURL
+
*FrameImageURL (?)
 
*BackgroundImageURL
 
*BackgroundImageURL
*DataEmbedded
+
*DataEmbedded (?)
 
*BackgroundImageAsTile
 
*BackgroundImageAsTile
*PixelSize
+
*PixelSize ? (PointSize?)
*CameraMode
+
 
*CameraPosition
+
*ShadowOn
*MouseMode
+
*EnableAntialiasing
 +
*AnimationPathURL
 
*ZoomingLevel
 
*ZoomingLevel
 
*PlayerBkColor
 
*PlayerBkColor
*BoundingBoxRatio
+
*BoundingBoxRatio (?)
*EnableBkTransparency
 
 
*ImageRenderingQuality
 
*ImageRenderingQuality
 
*StereoOn
 
*StereoOn
*EnableBackfaceCull
+
 
 +
*DataURL (CR)
 +
*CameraMode (CR)
 +
*CameraPosition (CR)
 +
*MouseMode (CR)
 +
*EnableBkTransparency (CR)
 +
*TransparencyOn (CR)
 +
*EnableBackfaceCull (CR)
 +
 
 +
(will be in CR)
 
*Light1On
 
*Light1On
 
*Light1CoordSys
 
*Light1CoordSys
Line 34: Line 44:
 
*Light1SpecularColor
 
*Light1SpecularColor
 
*Light1SpecularIntensity
 
*Light1SpecularIntensity
 +
 +
(will be in CR)
 
*MaterialLightOn
 
*MaterialLightOn
 
*MaterialShininess
 
*MaterialShininess
Line 39: Line 51:
 
*MaterialDiffuseColor
 
*MaterialDiffuseColor
 
*MaterialSpecularColor
 
*MaterialSpecularColor
*ShadowOn
+
 
*TransparencyOn
+
To discuss:
*EnableAntialiasing
+
* What file formats should be supported? ASC, PSI, DAE, ZAE, ...
*AnimationPathURL
+
*
 +
 
 +
--------
 +
 
 +
''' "CR" specs'''<br />
 +
 
 +
''' 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
 +
* [http://cdot.lighthouseapp.com/projects/52886/tickets/19 Add point attenuation]
 +
 
 +
'''Lighting'''
 +
* [http://cdot.lighthouseapp.com/projects/52886/tickets/28-add-materials#ticket-28-1 Add materials]
 +
* [http://cdot.lighthouseapp.com/projects/52886-xb-pointstream/tickets/27-add-lights Add lights]
 +
 
 +
'''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'''
 +
* [http://cdot.lighthouseapp.com/projects/52886/tickets/18 Add mouse support]
 +
* Mouse cursor
 +
* Keyboard
 +
 
 +
'''Misc'''
 +
* [http://cdot.lighthouseapp.com/projects/52886/tickets/20 3D to 2D]
 +
 
 +
'''?'''
 +
* User-defined shaders
 +
* LOD (if 1/2 million points render fine on MBP, do we need this?)

Latest revision as of 13:26, 9 July 2010

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