DiRT – Dust in Real-Time CS 426 Senior Projects Advisors: Team Members: Marcos Bagby Ryan Romero Brett Sulprizio Hiroko Uda Dr. Sergiu Dascalu Brian Westphal Dr. Frederick Harris Joseph Jaquish
Overview Project Description Applications Objectives Development/Design Challenges Demo Future Work Questions/Comments
DiRT (Dust in Real-Time) is a… 3D dust visualization program
Main Objectives Simulate & Model Dust Why this subject? Realistic Real-time Minimum number of resources Multiple Methods Why this subject? Initially planned for Desert Research Institute’s (DRI) CAVE Project CAVE = (Computer Automated Virtual Environment)
Applications Military Video Games CAVE Project Simulations enable realistic rehearsals of potential encounters and situations better understanding of combat environment leads to strategizing more effectively Video Games Low resource gaming engines CAVE Project Immersive virtual environment
CAVE (aka Cave Automatic Virtual Environment) In practice, most Caves have three to four faces with projections. (Image from: Cruz-Neira, Sandin, DeFanti, Kenyon and Hart, 1992).
Specifications C++ OpenGL QT for GUI Flyable Model Camera Control Frame Rate Display
Development Three Planned Methods Volumetric Fog Diffuse Reflection Using OpenGL’s fog extensions to simulate Diffuse Reflection Relying on light to create the effect Particle System Generating individual particles (slower) Freeform particle movement inside specified region
Volumetric Fog Large affected area divided into small volumes Volumes will translate, morph, etc… Will have different densities Translation and morphing specified by airflow parameters Stencil Buffer and Alpha Blending with multi-pass rendering creates the illusion
Design: System Architecture
Challenges Camera Dust methods Model Had problems with controls & terrain Dust methods References on methods vague Harder than expected Model Not too familiar with loaders, challenge was integrating with our terrain
Demo
Future Work Diffuse Reflection and Particle System methods Diffuse reflection probably most difficult to implement Particle system probably easiest to implement, but very resource intensive More advanced algorithms Implement for CAVE use Voxel Processing Method
Any Questions/Comments?