Skip to topic | Skip to bottom
Home
TModeling
TModeling.Sm_viewerr1.1 - 03 Jul 2008 - 20:49 - Main.guesttopic end

Start of topic | Skip to actions
sm_viewer

An OpenGL-based viewer that allows you to look at a streaming mesh and also helps illustrating the "stream quality" of the mesh. First of all you can watch the order in which the triangles stream from disk into memory. You can also visualize their arrangement in the the stream by coloring them according to their position in the triangle array. And finally you can visualize how compatible the vertex order is by coloring all triangles with high vertex spans in red.

This viewer was used on a 1.1~Ghz laptop with 512~MB to create the images in the paper. The streaming mesh format allowed even the largest of our models (e.g. atlas with 500 million triangles) to be rendered directly from its full resolution version. The viewer does so by simplifying the mesh on-the-fly using simple vertex clustering. Read vertices are hashed into a uniform grid based on their position. The mapping from their indices to their grid cell is stored in the hash where it is looked up by incoming triangles. The crucial part is that when a vertex is finalized we can now remove its entry from the hash since there will no more subsequent triangles looking it up. The maximal number of vertices in the hash equals the maximal number of vertices that are active at the same time (e.g. the width of the streaming mesh). This number is reported in the console after loading has completed. Notice that for non-streaming formats this number equals the number of vertices in the mesh. Therefore it is not possible to operate on large meshes in standard ply format.

In addition to our formats SMA to SMD, this tool supports OBJ, SMF, and PLY meshes (optionally gzipped).

For more on sm formats, see sm2sm.

(Note: Descriptions for some of these flags were unavailable. Shawn Brown has made his best guess with regards to these. Guesses will be marked in blue)

Example Usage:


General

-i <filename>

Usage:

sm_veiwer -h

sm_viewer mesh.sma
sm_viewer -ismc < mesh.smc
sm_viewer -win 640 480
sm_viewer -win 1600 1200 mymesh.obj
sm_viewer -grid 9 -every 1000 -isma < mymesh.sma
sm_viewer -h


Input File Flags

Input File Format Flags

-isma

Streaming Mesh ASCII

-ismb

Streaming Mesh Binary

-ismc

Streaming Mesh Compressed

-ismd

Streaming Mesh (might be obsolete)

-ismq

Streaming Mesh Quadratic (becoming obsolete)

-ioff

Stanford OFF format

-iply

Stanford PLY format

-ijrs

Jonathan Schewchuk's format

-iasc

ESRI Grid (ASCII) format


Misc Flags

-win <width> <height>

Starting width and height of main window

-grid <number>

Grid Precision

-every <number>

Subsample, take every nth vertex for display

-until <number>

Stop rendering when you reach nth vertex

-steps <number>

number of steps to take thru animation

-kamera <azimuth> <elevation> <distX> <distY> <distZ>

Camera parameters


GUI Commands

Keyboard Shortcuts
'Q' or 'q' or 'Esc' Quit application
<space> switch between translate, rotate, and scale modes
'>' zoom in
'<' zoom out
'-' <minus>, decreases RED_SCALE ???
'=' <equal>, increases RED_SCALE ???
'[' increases EXTRA_Z_SCALE ???
']' decreases EXTRA_Z_SCALE ???
'C' or 'c' rotates STREAM_COLORING mode thru 4 states
'M' or 'm' rotates RENDER_MODE thru 3 states
'O' or 'o' turns off animation
'V' or 'v' shades triangles based on vertex span
'R' or 'r' Render the entire mesh (can be very slow)
'W' or 'w' toggle blue and white colors for mesh rendering
'D' or 'd' creates raw frame buffer ???
'T' takes tiny step backwards thru animation
't' takes tiny step forwards thru animation
'S' takes large step backwards thru animation
's' takes large step forwards thru animation
'P' or 'p' Plays or replays animation
'K' or 'k' Dump camera info to console
'L' or 'l' toggle LINE display
'0' or '9' brings up corresponding 3D model sub-menu
1 display triangle "stripes"

Left mouse button either translates, rotates, or zooms based on current mode.

Middle mouse button increases relative scale vertically to horizontally.

Right mouse button brings up context menu.


Menu Items

3D Menu Items
"models ..." Various 3D models (obsolete for terrain)
"grid ..." brings up grid sub-menu (see below)
"steps ..." brings up steps sub-menu (see below)
"lines ..." brings up lines sub-menu (see below)
"rotate" switches to rotate mode
"translate" switches to translate mode
"zoom" switches to zoom mode
"<s>tep" step thru animation, same as 's' shortcut
"<p>lay" play animation, same as 'p' shortcut
"st<o>p" stop animation, same as 'o' shortcut
"<v>ertex span (+/-) ???
"stream-<l>ines" Show stream lines ???
"stream <c>oloring" rotates STREAM_COLORING between 3 states (same as 'c' shortcut)
"render <m>ode" rotates RENDER_MODE between 3 states (same as 'm' shortcut)
"<Q>UIT" Quits application, same as 'Q' shortcut


Grid Sub-menu (Size of grid to use for rendering triangles/vertices from coarse to fine)
  • "3x3x3 grid"
  • "4x4x4 grid"
  • "5x5x5 grid"
  • "6x6x6 grid"
  • "7x7x7 grid"
  • "8x8x8 grid"
  • "9x9x9 grid"
  • "10x10x10 grid"


Step Sub-menu (Number of frames to step thru animation when using 'S' or 's' commands)
  • "every 5 steps"
  • "every 10 steps"
  • "every 25 steps"
  • "every 50 steps"
  • "every 100 steps"
  • "every 500 steps"
  • "every 1000 steps"

Lines Sub-menu (Has something to do with STREAM COLORING - IE, how often the colors change)
  • "10 lines"
  • "15 lines"
  • "20 lines"
  • "25 lines"
  • "40 lines"
  • "50 lines"
  • "60 lines"
  • "75 lines"


Models Sub-menu (Obsolete for terrain purposes - appears to be used for loading in various 3D model meshes)
  • Bunny Sub-menu
  • Dinosaur Sub-menu
  • Armadillo Sub-menu
  • Dragon Sub-menu

-- JackSnoeyink - 02 Jun 2008

-- ChristianStith - 24 Jun 2008
to top


Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback