PRIORITIES FOR SECOND CONTRACT Priorities are in the range [0,5] with 5 being the highest and 0 the lowest. ACCEPTED: - Wireframe toggle for water surface only, 'w' key [4] - Reference horizon (possibly sky) as visual aid to orient scene [5] - Use per-vertex normals for reflection of light [4] - Correct scaling and origin for datasets not centered at (0,0)? [3] - Texture mapped topography (currently fixed as bedslope.jpg) [4] - Movement restricted to within bounding sphere (sky now stays at fixed distance from camera) [1] - Ability to remove light source (it's in the way sometimes) (removed totally) [2] - Duncan and Ole able to compile Swollen from source under Windows/Visual Studio .NET [3] - z-scaling to emphasize vertical details (via -scale command line parameter) [1] - added -nosky command-line option to appease those who want a plain background [?] - add -version command line flag synced with Subversion revision number (useful for debugging) [?] - Ability to automatically produce distro (win32) [4] - Culling of triangles ('c' key to cycle through culling states) [5] (Still there 20/1/5?) - Ability to have shading on bed-surface in the absence of texture - add back steep culling ability [4] - Ability to handle scenes with a resolution of 500,000+ triangles [3] ACCEPTED IN PRINCIPLE (STILL NEED TO BE VERIFIED): - Compilation under Mac [1] - Ability to compile from arbitrary location (e.g. using environment variables) [4] - Texture mapped water surface [2] (Not the same as the reflection?) - use of geotiff in sww file [5] Question, does swollen read georeferencing from within tif? COMPLETED: - Optional height-dependent semi-transparent water surface [0] - Interactive positioning of light(s) [0] - fix popping on shallow triangles [5] - Output coordinates defining camera position [?] - Start up with a view sight from above rather than from the side [2] - Command line parameters for culling, speed [1] - Ability to output frames in a common image format for making standalone animation [5] UNDER DEVELOPMENT: BUG LIST (status of these?) - steepcull dataset reveals steep angle cull problem - Problems with Duncan's, Chris' and Stephen Roberts' machines at GA: Swollen won't render semi transparency. Swwviewer works fine. (This appeared to work on Dunca's computer 13/12/4?). (It seems to be a problem with older cards - don't worry) - with -scale, rotation seems unnatural (and initial position shifted vertically?) BUGS FIXED: - --help not working, -h giving an "abort trap" - culling - toggle wireframe not working on Mac - can no longer make model disappear by pushing back through sky [2004-12-15] - Swollen starts up showing first time step, not zeroth (even though clock shows zero). Stepping one forward and one back, bring things into sync. [2004-12-01] - nonuniform scaling into unit cube should be uniform [2004-12-01] - onscreen text no longer obscured by zoomed model - removed lighting from onscreen text, now constant colour - memory leak occurring when loading subsequent stages fixed by use of ref_ptrs in SWWReader - dragging sww onto swollen (all in one directory) does not produce the same results as calling from command line -------------------------------------------------- APPEARANCE: - Scene augmentation with OSG models [2] - Optional contour lines of water surface [1] FUNCTIONALITY: - Optional colour coding of water surface based on arbitrary fields (e.g. stage, speed, momentum, ..) [4] - Ability to read from file as it is being produced (like tail -f) [2] - Input camera position to give desired view [3] - key binding 'h' for home camera position (return to home view) [2] - key binding 't' for top camera position (go to orthographic view) [1] - Ability to show earthquakes [0] - Concept of 'buildings' and shaking them [0] - user feedback should differentiate between "sww file not found" and "sww file couldn't read" [1] - prune -help documentation removing irrelevant options [?] OPTIMIZATION: - Scene optimization via geometry and texture level-of-detail (LOD) [3] - Separate thread for loading a ring buffer of stage data [1] COMPILATION: - Ability to automatically produce distro (linux) [4] - Compilation under Linux [3] - Ability to compile using gnu gcc/g++ [3] OTHER: - Brief documentation of interface [4] - Revisit use of culling steep epsilon [3] - SWW netcdf meta information [0]