Terraform-3D
Extensions and Modifications
Sponsor Information:

Deborah Lee Soltesz, dsoltesz@usgs.gov
Stuart C. Sides, ssides@usgs.gov
US Geological Survey, 2255 N. Gemini Drive, Flagstaff, AZ 86001


Project Overview:

Terraform3D is a terrain visualization package that allows the user to perform real-time visualization of digital elevation data and render high quality images and animations. The software is platform independent, and is written in C++ using GLUT and OpenGL for the real-time visualization tool. The package uses POV-Ray freeware for high quality renderings and animation generation, allowing the renderings to be generated by a single workstation or a cluster running the PVM-POV patch for POV-Ray. Project documentation can be found at:

http://TerraWeb.wr.usgs.gov/TerraForm3D/

Currently, the real-time visualization is slow, some of the features need improvements, and there are several new features users would like to have added to the package. The project entails making improvements, corrections, and upgrades to the Terraform3D package. To list a few improvements needed:

  • VRML export
  • Import TIFF, TGA, and raw image types (LandSat satellite data for example) as elevation grids or textures
  • Constant velocity in exported fly-by animations
  • Texture overlay in real-time visualization
  • Improved real-time visualization performance

The project entails both working within the current design to improve existing components, and designing new components to add new features to the package.


Prerequisites:

Required: Understanding of the mathematics of manipulating objects in three-dimensional space and projecting a scene containing those objects onto a two-dimensional image space (linear algebra). Ability to read and code C++. Familiarity with the Microsoft Windows and Unix/Linux operating systems.Helpful: Familiarity with OpenGL or (similar 3D graphics language) and GLUT and GLUI libraries, POV-RAY scripting language, and terrain modeling and scientific visualization concepts.

Optional: Ability to design and code in Java, specifically Java3D, depending on the team's proposed problem solution.


Equipment Requirements:

Required: In order to test cross-platform compatibility, the team should have access to one each of an IBM-compatible running Windows 2000, a UNIX workstation (preferably True64), and a Linux workstation (preferably SuSE). All systems will need a C++ compiler or Java interpreter (dependent on proposed solution) and OpenGL. At least one system will need POV-RAY.Students will be expected to develop on their own or University equipment. Occasional supervised access can be granted to any of the listed platforms for testing purposes they do not have access to through the University.

 


Deliverables:

The student team will be expected to propose and deliver:

  • an acceptable solution to the problem in the form of a final software package that works correctly on at least the Windows 2000 and Linux platforms;
  • demonstrations and working upgrades in regular increments; well designed and documented code; and user and programmer documentation.

Electronic delivery of all documentation in PDF, HTML, or Microsoft Word is preferred. Documentation and reports should be formatted so they will make usable two-sided hardcopies, are readable on a computer screen, and can easily be converted for use on a 16-bit color personal digital assistant whenever possible. All deliverables should follow basic accessibility standards that will allow us to use and distribute the information, maintaining compliance with the Rehabilitation Act of 1973, Amendments of 1998, Section 508.