00001000101 00001010011010 00001000101 00001010011010 TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler Heather Jeffcott Craig Post Deborah Lee.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Mehdi Naghavi Spring 1386 Operating Systems Mehdi Naghavi Spring 1386.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Chapter 3.2 C++, Java, and Scripting Languages “The major programming languages used in game development.”
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Computer Science 162 Section 1 CS162 Teaching Staff.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
COMP 350: Object Oriented Analysis and Design Lecture 2
DECISION SUPPORT SYSTEM DEVELOPMENT
Chapter 6: An Introduction to System Software and Virtual Machines
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
SM3121 Software Technology Mark Green School of Creative Media.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Operating Systems.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Chapter 3 Software Two major types of software
Chapter 1 The Systems Development Environment
Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.
Struts 2.0 an Overview ( )
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Lesson 4 Computer Software
What is Concurrent Programming? Maram Bani Younes.
Platforms for Learning in Computer Science July 28, 2005.
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
CryptKeeper Project Plan 1 CryptKeeper Project Plan.
Antigone Engine Kevin Kassing – Period
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Virtual Mechanics Fall Semester 2009
Chapter 1 The Systems Development Environment
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Tablet PC Capstone CSE 481b Richard Anderson Craig Prince.
Chapter 6 : Software Metrics
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
Grob Systems, Inc., the customer, requires an industrial computer system that will have a function of acquiring raw data, processing the data, presenting.
AGENDA Introduction to Virtual Mechanic Demo Architectural diagram and summary QA steps and user acceptance testing Bugs in the software Feedback from.
© 2007 by Prentice Hall 1 Introduction to databases.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 9 Moving to Design
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
GAM 200 Club. How to Game Engine GAM 200 Club Zachary Nawar.
Graphical User Interface and Job Distribution Optimizer for a Virtual Pipeline Simulation Testbed Walamitien Oyenan October 8, 2003 MSE Presentation 1.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
By Jeff Dean & Sanjay Ghemawat Google Inc. OSDI 2004 Presented by : Mohit Deopujari.
| nectar.org.au NECTAR TRAINING Module 4 From PC To Cloud or HPC.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Reverse Engineered Architecture of the Linux Kernel Kristof De Vos.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Advanced Higher Computing Science
Software Development.
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Unified Modeling Language
The Graphics Rendering Pipeline
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Ch > 28.4.
Design, prototyping and construction
Computer Science I CSC 135.
Concrete Architecture of SuperTuxKart
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Design, prototyping and construction
Presentation transcript:

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

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

Overview  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  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  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 Craig Post

Plasma Works 3D Engine - Craig Post7 PW3D: Architecture  Overview: Object VertexAnimationsTexture Renderer CameraTextures Lights Pointer to objects to render

PW3D: Architecture Analysis  Lessons Learned:  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  Design Methodology Used: Prototype  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  Tools used: OpenGL  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  Coordinate systems are very important for retaining system consistency  It is important to learn your coordinate system inside and out very early on

PW3D: Final Comments  Overall Lessons Learned:  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 Terrain Modeler

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

USGS Terrain Modeler - Deborah Lee Soltesz Design & Implementation  Iterative Prototyping  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 serves as the user interface and on-screen 3D manipulation package

USGS Terrain Modeler - Deborah Lee Soltesz TerraGUI User Interface  3D Engine / 3D Engine Lite  Great idea - didn’t work 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 serves as a generic interface to a plethora of image file formats ImageManager write TGA

USGS Terrain Modeler - Deborah Lee Soltesz MediaOutput handles saving transformations set in TerraGUI to high- resolution imagery, digital video frames, or VRML MediaOutput

USGS Terrain Modeler - Deborah Lee Soltesz 3D File Rendering  Original Plan: write a renderer  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  POV-Ray should have been part of the original plan  Time  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  Deb’s development environment  finding an OpenGL system to work on installing necessary hardware, software, libraries, etc. should have started sooner

Parallel Processing Trent D’Hooge

ProtoType Method  Allowed for learning MPI and how to best set 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  NFS  Allowed for the sharing 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  Found that PVM POVRAY would do the 3D 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  Problem  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