DiRT - Dust in Real-Time: The Specification Process Marcos C. Bagby, Ryan A. Romero, Brett L. Sulprizio, Hiroko Uda, Joseph R. Jaquish, Frederick C. Harris,

Slides:



Advertisements
Similar presentations
Week 8 - Monday.  What did we talk about last time?  StdAudio.
Advertisements

Chapter 2: Graphics Programming
Week 7: Input and Output 1.  Now we are going to talk a little bit about output  You have a lot of experience with System.out.println() and System.out.print()
Graphics Pipeline.
1 Class Vehicle #include #define N 10../.. 2 Class Vehicle class vehicle { public: float speed; char colour[N+1]; char make[N+1];
3D Graphics Rendering and Terrain Modeling
OpenGL Basics Donghui Han. Assignment Grading Visual Studio Glut Files of four types needed: – Source code:.cpp,.h – Executable file:.exe (build in release.
Dust Modeling in a Virtual Environment Team 3 Marcos Bagby Ryan Romero Brett Sulprizio Hiroko Uda.
Thraxion: Three Dimensional Action Simulator Justin Gerthoffer, Jon Studebaker, David Colborne, Jeff Stuart, Frederick C. Harris, Jr Department of Computer.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering 3 October 2007.
IAT 3551 Computer Graphics Overview Color Displays Drawing Pipeline.
V-FIRE: Virtual Fire In Realistic Environments Michael Penick ◦ Grant Kelly ◦ Juan Quiroz with Dr. Fred Harris, Dr. Sergiu Dascalu, and Brian Westphal.
1 Lab Session-6 CSIT-121 Spring 2005 Structured Choice The do~While Loop Lab Exercises.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Written by: Haim Natan Benny Pano Supervisor:
Development of Interactive 3D Virtual World Applications
VIDEOOPTIONS PIPE LIST PIPE INFO CAMERAS STATUS SLIDER.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
1 Perception and VR MONT 104S, Spring 2008 Lecture 22 Other Graphics Considerations Review.
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler Heather Jeffcott Craig Post Deborah Lee.
3D coordinate systems X Y Z Right-Hand Coordinate System X Y Z Left-Hand Coordinate System OpenGL uses this! Direct3D uses this!
TESTING.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
GLWidget Description Jason Goffeney 3/8/2006. GLWidget The GLWidget class extends the Qt QGLWidget. The QGLWidget is a Qt Widget that happens to have.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Cthru Technical Brief Gary Morris Center of Higher Learning Stennis Space Center.
Geometric transformations The Pipeline
Information Visualization Using 3D Interactive Animation Meng Tang 05/17/2001 George G. Robertson, Stuart K. Card, and Jock D. Mackinlay.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Department of Electrical Engineering, Southern Taiwan University Robotic Interaction Learning Lab 1 The optimization of the application of fuzzy ant colony.
CS 4363/6353 OPENGL BACKGROUND. WHY IS THIS CLASS SO HARD TO TEACH? (I’LL STOP WHINING SOON) Hardware (GPUs) double in processing power ever 6 months!
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Technical Advisor - Mr. Roni Stern Academic Advisor - Dr. Meir Kelah Members: Shimrit Yacobi Yuval Binenboim Moran Lev Lehman Sharon Shabtai.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
New Working Title: F.U.C.K.3.d. Frag Unreal College Kids in 3D Beta Version Roger Davis Nick Martineau Jason Sabada.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Wiimote/Kinect Lab Midterm Update Senior Design December 2011, Group 16 Adviser: Dr. Tom Daniels Brenton Hankins Rick Hanton Harsh Goel Jeff Kramer.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Viewing and Transformation. Pixel pipeline Vertex pipeline Course Map Transformation & Lighting Primitive assembly Viewport culling & clipping Texture.
CGGM Lab. Tan-Chi Ho 2001 Viewing and Transformation.
Team IRALAR Breanna Heidenburg -- Michael Lenisa -- Daniel Wentzel Advisor: Dr. Malinowski.
GPU Based Sound Simulation and Visualization Torbjorn Loken, Torbjorn Loken, Sergiu M. Dascalu, and Frederick C Harris, Jr. Department of Computer Science.
COP1220/CGS2423 Introduction to C++/ C for Engineers Professor: Dr. Miguel Alonso Jr. Fall 2008.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
Dr Nick Mitchell (Room CM 224)
Chap 3 Viewing and Transformation
CS552: Computer Graphics Lecture 6: Viewing in 2D.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
SPACE SHUTTLE LAUNCHING GUIDE Mis. V.R.PRATIMA Mr. ASWIN KUMAR PUNITH.K PAUL SUDEEP.G Submitted by.
Implement of transformation,projection, viewing Hanyang University Jungsik Park.
Terrain Generator Done by Manoo Gharse Vanessa Ferrao Karl Fernandes Rohit Arondekar Amruta Kunkolienkar.
OpenGL LAB III.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Over the recent years, computer vision has started to play a significant role in the Human Computer Interaction (HCI). With efficient object tracking.
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
Modelling of ATCR Radar Monitor System Using Computer Simulation
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
DiRT – Dust in Real-Time
DiRT – Dust in Real-Time
Parallel Spectral Renderer
Computer Graphics 3Practical Lesson
Adam Schmidt Noah Medling Troy Doty
OpenGL Background CS 4722.
Adam Schmidt Noah Medling Troy Doty
Presentation transcript:

DiRT - Dust in Real-Time: The Specification Process Marcos C. Bagby, Ryan A. Romero, Brett L. Sulprizio, Hiroko Uda, Joseph R. Jaquish, Frederick C. Harris, Jr.

Introduction Overall Goal –Desert Research Institute –Immersive Visualization Lab. –Desert Terrain

Introduction Short Term Goal –Therefore, we need to simulate/model Dust Realistic –VideosVideos Real time simulation might be difficult.

Introduction This project is an ongoing research project that could not be completed in 1 semester. In Senior Projects the students use a streamlined software engineering process to design and implement their projects.

Requirements Specification Two Types –Functional –Non-Functional

Requirements Specification Functional –R01 [1] DiRT shall use volumetric fog extensions. –R02 [1] DiRT shall simulate dust dissipation. –R03 [1] DiRT simulates wind patterns. –R04 [3] DiRT shall check to see if current computer hardware can run the simulation. –R05 [2] DiRT shall display the current frame rate. –R06 [1] DiRT shall allow the user to start the simulation. –R07 [1] DiRT shall allow the user to stop the simulation at any time. –R08 [1] DiRT shall display the methods of dust simulation. –R09 [3] DiRT shall allow the user to change the terrain. –R10 [1] DiRT shall allow the user to change the point of view. –R11 [3] DiRT shall enable the user to customize the lighting.

Requirements Specification Functional –R12 [1] DiRT shall support a free form camera. –R13 [1] DiRT shall support a first person pilot camera view. –R14 [3] DiRT shall allow the user to load terrain maps. –R15 [2] DiRT enables the user to change the screen resolution. –R16 [2] DiRT shall enable the user to switch from pilot view to free camera perspective. –R17 [1] DiRT shall use the keyboard to control vehicle movement. –R18 [1] DiRT shall enable the pilot to fly/drive the vehicle. –R19 [2] DiRT shall enable the user to change the model used for the vehicle. –R20 [3] DiRT shall enable the user to toggle the terrain to on, off, wire-frame, smooth, and smooth + wire-frame. –R21 [3] DiRT shall enable the user to change the speed of the simulation (slow down or speed up).

Requirements Specification Non-Functional –T01 DiRT will be able to run all dust methods in real- time. –T02 DiRT will ask a user to choose a displaying method from the three: 1. Volumetric fog dust 2. Diffuse reflection dust. 3. Particle system. –T03 DiRT shall be implemented with OpenGL and Qt. –T04 DiRT shall be a cross-platformapplication. –T05 DiRT shall be written in C++.

Use Case Modeling To better understand the functionality of DiRT, the system has been divided into use cases. This figure presents the interaction of the user with DiRT EnableFogDust EnableParticleDu st ToggleTerrain DriveByKeyboar d DriveByMouse ControlCamera ChangePerspective ChangeHeightMa p ChangeTerrainMap EnableRefractionDust

Use Case Modeling As part of the process the team constructed a use case / requirement traceability matrix. –This partial matrix shows how the use cases and requirements interact. Use Case R06X R07X R08X R09X R10X R11 R12X R13X R14X R15X R16X R17X

Architectural Design The system architecture is divided into various subsystems.

Architectural Design The structure of DiRT was done using an object oriented approach. As such there were several charts and diagrams built to clarify the design. –The first was a class diagram.

Class Diagram (partial) Qt Libraries Class Qdialog Class QSlider Class QCheckBox Class Line Class QRadioButton Class VBox Class QLabel Class QLCDNumber GLFractal -glFogCoordfEXT : PFNGLFOGCOORDFEXTPROC -g_nWallTex : GLuint -object : GLuint -xRot : GLfloat -yRot : GLfloat -zRot : GLfloat -scale : GLfloat -eyex : int -eyey : int -eyez : int -fogdense : double -hMap : HeightMap* -displayListTex : GLint -displayListColor : GLint -displayListMesh : GLint -camera : double[16] -tex :Glint[1] -glContext : QGLContext* -scrollVal : double -stereo : bool -stereoEye : bool -tx, -ty, -tz : double -rx, -ry, -rz : double -x : int[2] -y : int[2] -RADIUS : double -voldegree : float -radiuslen : float -alpha : double -beta : double -gamma : double -eyeX, -eyeY, -eyeZ: GLdouble -eye : GLdouble[4] -at : GLdouble[4] -up : GLdouble[4] +setHeightMap( heightMap : HeightMap* ) : void +setTextureFile( path : char* ) : void #initializeGL() : void #paintGL() : void #resizeGL( w : int, h : int ) : void #OnDisplay() : void #LoadTexture ( filename : char*, eWrap : GLenum, nTex : GLuint ) : void #keyPressEvent( e : QKeyEvent* ) : void #drawGLQuad( x : float, y : float, z : float ) : void #drawDustVol( theta : float, radius : float ) : void #DisplayTerrain() : void #drawBox() : void #isTolerableRowDiff( row : int, coll : int, col2 : int ) : int #isTolerableColumnDiff( col : int, row1 : int, row2 : int ) : bool #setHeightMap( heightMap : HeightMap* ) : void #renderRowTex( row : int ) : void #renderRowColor( row : int ) : void #renderMesh() : void #renderSmoothedMesh( showColors : bool ) : void 1 HeightMap #width : int #height : int #xCorner : double #yCorner : double #cellSize : double #min : double #max : double #noVal : double #data : double* -swapInPlace( buffer : void*, size : int ) : void* -loadAscii( fileName : char* ) : HeightMap* -loadBinary( filename : char*) : HeightMap* +getWidth() : int +getHeight() : int +getXCorner() : double +getYCorner() : double +getCellSize() : double +getInvalidFlag() : double +getMinimum() : double +getMaximum() : double +getTrueMinimum() : double +getTrueMaximum() : double +getEntry( row : int, col : int ) : double& +getRow( row : int ) : double* +getData() : double* 1 N

System Activity Chart The second was a system activity chart which is shown here

Current Status Terrain Input –videovideo

Current Status –A lot of work has continued on this portion because of the importance to the whole system –We have a paper going out tomorrow describing a new algorithm for triangle decimation that increases performance dramatically here This is important because the data sets are HUGE!!!

Future Work Other Preliminary Work –Data Selection Back to DiRT –Three Methods Volumetric Fog Diffuse Reflection Particle Systems –Probably not effective due to the processing power needed. –Video ExampleVideo Example

Thank You