00001000101 00001010011010 TerraForm3D Plasma Works 3D Engine

30 Slides1.41 MB

00001000101 00001010011010 TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler Heather Jeffcott Craig Post Deborah Lee Soltesz Trent D’Hooge

Team Organization 00001000101 00001010011010 Heather Jeffcott – Programming Support Craig Post – Plasma Works 3D Engine Deborah Soltesz – USGS Terrain Modeler Trent D’Hooge – Parallelization

Overview 00001000101 00001010011010 Design of Two 3D Packages PlasmaWorks – 3D Engine 3D Game Engine with a variety of special effects to choose from. USGS – Terrain Modeler User interface and high-quality parallelized image renderer which handles large image data files

Scheduling and Organization 00001000101 00001010011010 Good Stuff Meetings Short meetings held often Business first, then brainstorm Records Minutes Regular Status Reports Meaningful Documentation Deadlines Early but reasonable – realistic! Built-In lead time

Scheduling and Organization 00001000101 00001010011010 What could have been better . Published a monthly calendar along with the Status Reports Keep better track of upcoming projects and deadlines Scheduling around high stress times mid-terms unforeseen events documentation for this project papers, programs, and other large assignments in other classes

Plasma Works 3D Engine 00001000101 00001010011010 Craig Post

PW3D: Architecture 00001000101 Overview: 00001010011010 Pointer to objects to render Object Vertex Animations Renderer Texture Camera Textures Plasma Works 3D Engine - Craig Post Lights 7

PW3D: Architecture Analysis 00001000101 Lessons Learned: 00001010011010 Integrating functionality into one class made up of multiple subclasses is best Inheritance is GOOD! Due to OS, it is difficult to make a completely independent renderer An event driven architecture might work better than a looping architecture Adding functionality to the renderer is difficult

PW3D: Design Methodology 00001000101 Design Methodology Used: Prototype 00001010011010 Benefits Good for learning Easy to add on to Easy to see real implementation Drawbacks Easy to get stuck in paradigms Tough to throw away work

PW3D: Tools and Languages 00001000101 Tools used: OpenGL 00001010011010 Benefits: much easier than DirectX more help available handles a lot of the behind the scenes work for you Drawbacks: not as widely supported in gaming only handles graphics, nothing else not strictly game oriented

PW3D: Coordinate Systems 00001000101 Coordinate systems are very important for 00001010011010 retaining system consistency It is important to learn your coordinate system inside and out very early on

PW3D: Final Comments 00001000101 Overall Lessons Learned: 00001010011010 Mathematics is much more difficult when trying to apply it It is difficult to take an algorithm on paper and convert it to code There are too many goodies to add in one semester

Deborah Lee Soltesz 00001000101 00001010011010 Terrain Modeler

Package Interface View 00001000101 Image Manager GUI 00001010011010 Request: Open file(s) Retrieve data from a specific region of a terrain or overlay image Set detail level Manages input image files Manages user input, data manipulation, image rendering and screen display Request: Request: Create media of specific type Retrieve data from a specific region of a terrain or overlay image Set detail level Give: transformation matrices pointer to Image Manager Media Output Manages output image rendering and files USGS Terrain Modeler - Deborah Lee Soltesz

Design & Implementation 00001000101 Iterative Prototyping 00001010011010 Build up and test functional classes and packages iteratively allows more strenuous, automated testing work bugs out before adding more complexity GUI Prototyped works out bugs before adding in complex underlying functional packages tests usability and fertilizes brainstorming “Eye Candy” factor USGS Terrain Modeler - Deborah Lee Soltesz

TerraGUI TerraGUI TerraGUI serves serves as as the the user user interface interface and and on-screen on-screen 3D 3D manipulation manipulation package package 00001000101 00001010011010 Terra main . Terra terrain Terra camera . . . . Terra light . . Color Code . . USGS Terrain Modeler - Deborah Lee Soltesz

TerraGUI User Interface 3D Engine / 3D Engine Lite 00001000101 Great idea - didn’t work00001010011010 Terrain Model functionality did not apply to needs of 3D Engine Prototyping helped make the decision to make two separate screen renderers early in the process Terrain Reduction Algorithm Simple “pick every n points” vs. picking points that best add definition great algorithm, but came too late USGS Terrain Modeler - Deborah Lee Soltesz

ImageManager ImageManager ImageManager serves serves as as aa generic generic interface interface to to aa plethora plethora of of image image file file formats formats 00001000101 00001010011010 Image Manager . . Image . Img String . write TGA . TIFF Image JPEG Image BMP Image #parseImage() #parseImage() #parseImage() USGS Terrain Modeler - Deborah Lee Soltesz MIPS Image #parseImage() -parseLabelFile()

MediaOutput 00001000101 00001010011010 Media Output Transform List . . . . * Transform Node VRML . . writeVRML() MediaOutput MediaOutput handles handles saving saving transformations transformations set set in in TerraGUI TerraGUI to to highhighresolution resolution imagery, imagery, digital digital video video frames, frames, or or VRML VRML Perspective View . . USGS Terrain Modeler - Deborah Lee Soltesz

3D File Rendering 00001000101 Original Plan: write a renderer 00001010011010 Optimized to data and purpose Open Source - can be tweaked New Plan: POV-Ray Open Source - can be tweaked Has parallelized version: PVM-POV Fits data and purpose fairly well, but has weaknesses USGS Terrain Modeler - Deborah Lee Soltesz

3D Rendering: Conclusion 00001000101 POV-Ray should have been part of the 00001010011010 original plan Time could have been spent better making improvements to POV-Ray improve file input management add MIPS image format as input/output type interface directly to POV-Ray libraries instead of making cheesy system call USGS Terrain Modeler - Deborah Lee Soltesz

Issues 00001000101 Deb’s development environment 00001010011010 finding an OpenGL system to work on installing necessary hardware, software, libraries, etc. should have started sooner USGS Terrain Modeler - Deborah Lee Soltesz

Trent D’Hooge 00001000101 00001010011010 Parallel Processing

ProtoType Method 00001000101 Allowed for learning MPI and how to best set 00001010011010 up and use a Beowulf Cluster Allowed for testing of different ideas from algorithms for splitting up the work to communication between computers Brought forth issues in networking and memory management

Resources 00001000101 NFS Allowed for the sharing 00001010011010 of data between computers at the kernel level MPI and PVM Allows computers to pass messages back and forth POVRAY Software that can run across multiple computers for 3D rendering

Implementation 00001000101 Found that PVM POVRAY would do the 3D 00001010011010 rendering and would run in parallel Very little change had to be made to the cluster Works very well for images that can be buffered Gets good performance increase when the computers do not have to swap Allows for load balancing and redundancy

PVM POVRAY 00001000101 Problem 00001010011010 POVRAY brings in the whole image on each machine Solution Instead of using the PVM based software, rewrite the parallelization of POVRAY with MPI and use the algorithms used from prototyping to only bring in what is needed on each computer

In conclusion Few problems Things went smoothly 00001000101 00001010011010

00001000101 00001010011010

00001000101 00001010011010

Back to top button