Virtual Reality Applications and Research (MAE - 574) Spring '09

Dept. of Mechanical and Aerospace Eng., University at Buffalo

Instructor: Govindarajan Srimathveeravalli

Home            Course Schedule and Materials       Source Code        Staff Contact        Sundry VR Links           Best HW Submissions        

Date

Topics

Course Notes

Assignments

Assigned Readings and References

 

 

 

 

 

1/14 and 1/16 Introduction to OpenGL and GLUT, creating a "hello world" application, drawing primitives, using mouse, keyboard and idle functions, understanding double buffer and basic drawing strategies

Class 1&2

HW 1 (Due: 1/23)

 

1/21

Definition of polygons, algorithms for polygons (convexity, testing for point and convex hull), state management in OGL and basic animation

Class 3

HW 2 (Due: 2/2)

 

1/23 and 1/24

Transformation and projection operation, matrices and math. Camera and viewport mapping.

Class 4&5 ppt notes

 

 

1/28 and 1/30

Lighting, materials, shading, colors, introduction to ray tracing and depth testing.

Class 6&7 ppt notes

HW 3 (Due: 2/13)

Nate Robin's tutors for lighting and transformations

Siggraph notes on ray tracing

Another excellent source for ray tracing: hat tip: Forrest Briggs

2/4 and 2/6

Blending, polygon offset, pixel operation, texturing, multi texturing, loading images, light mapping and bump mapping.

Class 8&9

 

Bump mapping tutor by Michael Gold (ppt alert!)

2/9

Sources for VR models, loading models, vertex arrays, display lists and generation of models through math operations (extrude/revolve/sweep, implicit and parametric functions)

Class 10

 

 

2/11 and 2/13

Terrain generation, data sources, processing grayscale images, triangle strip generation, introduction to Delaunay triangulation, introduction to optimal triangulation algorithms (for 2.5D data)

Class 11&12

 

Survey on modeling and visualization - Fabio

Shewchuck Delaunay triangulation notes

Triangle strip generation - Kornmann

Garland and Heckbert - Greedy insertion

Paul Bourke's Delaunay Triangulation tutorial

 

Supplement reading: Introduction to Standard template Library (STL), along with sample programs (look up the source code section).

Class 12 Supp

 

 

2/16

Use of OpenGL buffers (Color/Depth/Accumalation/Stencil etc.), buffer based operations such as stereoscopy (active and anaglyph), reflection and shadows.

Class 13

Mini project 1 (Due: 2/27)

Mark Kilgard - Shadows

Morrowsoft OGL Tutorials

Paul Bourke - Stereo

Paul Bourke - Anaglyph

2/18 and 2/20

Introduction to parametric modeling, polynomial curves, rational curves, beziers, theory behind splines, construction of NURBS and introduction to patches

Class 14&15

 

 

2/23 and 2/25

Introduction to collision detection, ray intersection, point in polygon, bounding spheres and bound boxes. Description of sweep and prune algorithm and construction of trees for spatial elimination.

Class 16&17

HW 4 (Due:3/16

 

2/27 and 3/2

Physically based modeling, kinematics, numerical methods, integration, Euler and Runge-Kutta, modeling of systems (gravity, spring and damping), particle physics for simulation of rigid and soft bodies, discussion of code

Class 18&19

 

David Baraff's course notes on physically based  modeling.  

 

NeHe physics tutorials

3/4 and 3/6

Physics for rigid bodies, derivation of basic laws and equations and schematic implementation.

Class 20&21

 

Rigid body physics tutorial by Chris Hecker

3/16 Introduction to sensors and input devices for VR, associated research

Class 22

 

Jeff Han: Multitouch interaction

Kim et al.: Fingertip digitizer

Mistry et al: Sixth Sense

3/18 Mid term exam review      
3/20 Mid term examination Exam - 09    
3/23 Lab visit for sensors and input systems for VR      
3/25 and 3/27 Mid term solutions, Introduction to display systems for VR Class 23&24 Miniproject 2 (Due: 5/7) Papers for projector based displays and image correction/calibration Varshney et al, Lee et al, Raskar et al(1), Raskar at al (2)
3/30 Introduction scenegraph based API's, OpenInventor based programming Class 25   Coin3D for Windows and Inventor Mentor
4/1 In class design of a large table top display device for high performance CAD visualization     Design resources: Geowall implementation, MAD boxes, Problems with projector based displays and Homography
4/3 and 4/6 Introduction to haptics, human proprioceptive sense, feedback, devices, history, current technology, tactile input and associated research Class 26&27   Resources for haptic technology: Insko: Passive haptics, Amemiya: Handheld device for direction, Gillespie: Snaptic paddle (variation), Goethals: Tactile feedback in surgery, Jones: Haptic vest, Stone: History, Robles-de-la-torre: Device survey
4/8 and 4/10 VR and graphics using Matlab Class 28    
4/13, 4/15 and 4/17 Graphics algorithms (from graphics gems and other sources) Class 29&30    
4/20     In class term project presentations and review  
4/22 Introduction to AR Toolkit (Guest lecture by Ashirwad Chowriappa) Class 31     
4/24 Introduction to PhysX engine (Guest lecture by Gughan Sathyaseelan)      
4/27 VR Applications      
5/7     Term project demo in 328 Jarvis hall (by appointment)