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 |
|
||
|
1/21 |
Definition of polygons, algorithms for polygons (convexity, testing for point and convex hull), state management in OGL and basic animation |
|
||
|
1/23 and 1/24 |
Transformation and projection operation, matrices and math. Camera and viewport mapping. |
|
|
|
|
1/28 and 1/30 |
Lighting, materials, shading, colors, introduction to ray tracing and depth testing. |
Nate Robin's tutors for lighting and transformations 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. |
|
||
|
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) |
|
|
|
|
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) |
|
Survey on modeling and visualization - Fabio Shewchuck Delaunay triangulation notes Triangle strip generation - Kornmann |
|
|
|
Supplement reading: Introduction to Standard template Library (STL), along with sample programs (look up the source code section). |
|
|
|
|
2/16 |
Use of OpenGL buffers (Color/Depth/Accumalation/Stencil etc.), buffer based operations such as stereoscopy (active and anaglyph), reflection and shadows. |
|||
|
2/18 and 2/20 |
Introduction to parametric modeling, polynomial curves, rational curves, beziers, theory behind splines, construction of NURBS and introduction to patches |
|
|
|
|
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. |
|
||
|
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 |
|
David Baraff's course notes on physically based modeling.
|
|
| 3/4 and 3/6 |
Physics for rigid bodies, derivation of basic laws and equations and schematic implementation. |
|
||
| 3/16 | Introduction to sensors and input devices for VR, associated research |
|
Jeff Han: Multitouch interaction |
|
| 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) |