Chris Pollett > Students >

    ( Print View )


    [CS297 Blog]


    [CS297 Proposal]

    [CS297 Final Report - PDF]

    [CS298 Proposal]

    [CS298 MPR Report]

    [CS298 Box2D Collision Detection Pipeline]

    [CS298 Final Report - PDF]


CS297 Proposal

Return to Neverhood: Rendering and Simulation of Deformable Materials

Joshua Newth (mrfurious at gmail dot com)

Advisor: Dr. Chris Pollett


The purpose of this project is to develop a 2D physics engine and simple renderer for experimenting with deformable bodies in a rigid body physics simulator.

The primary academic goal is to develop an understanding of the rendering and physics technologies used in modern videogames.


Week 1:2/5/12-2/11/12 Do: Define preliminary schedule and deliverables. Update site.
Read: Computer Graphics with OpenGL.
Week 2: 2/12/12-2/18/12 Do:Set up development enviroment. Get some simple objects rendering in 3D.
Deliverable 0: Simple object display.
Week 3: 2/19/12-2/25/12 Do:
Week 4: 2/26/12-3/3/12 Do: Write basic camera and implement user controls in scene.
Read: Chapters 6 and 7 of Hearn. Read: Review Chapters 3-5 Millington.
Week 5: 3/4/12-3/10/12 Do:
Read: Review Chapters 6-8 Millington. Deliverable 1: Simple user-navigable scene.
Week 6: 3/4/12-3/10/12 Deliverable 2: Object primitives. Do:
Read: Chapters 9 and 10 Millington
Week 7: 3/11/12-3/17/12 Do:
Read: Chapter 11 and 12 Millington
Week 8: 3/18/12-3/24/12 Deliverable 3: Gravity demo. Do:
Read: Chapter 11 and 12 Millington
Week 9: 3/25/12-3/31/12 Do:
Read: Chapter 13 Millington
Week 10: 4/1/12-4/7/12 Deliverable: GJK writeup validation. Read: Articles about current topics in deformable body simulation.
Week 11: 4/8/12-4/14/12 Do: More research about current topics in deformable body simulation.
Improve simulation stability.
Read: Chapters 3 and 4 in [4].
Week 12: 4/15/12-4/21/12 Do: Begin work on 2D renderer.
Read: Chapter 16 Millington
Week 13: 4/22/12-4/28/12 Do:
Week 14: 4/29/12-5/5/12 Do:
Week 15: 5/6/12-5/12/12 Do:
Week 16: 5/13/12-5/19/12 Do:
Week 17: 5/20/12 Deliverable 6: CS297 Submission Due


The full project will be done when CS298 is completed. The following will be done by the end of CS297:

1. Simple object display (dev environment working).

2. User-navigable 3D environment (keys to navigate and mouselook)

3. Gravity demo.

4. Collision detection - GJK implementation and writeup.

5. Collision resolution - Basic Jacobian solver with "no penetration" and "friction" constraints.

6. CS297 Report containing a design document and development schedule for the Neverhood engine.


[1] Hearn, D. and Baker, P. (2004). Computer Graphics with OpenGL (3rd edition). Upper Saddle River, NJ: Pearson Prentice Hall.

[2] Van Verth, J. and Bishop, L. (2004). Essential Mathematics for Games and Interactive Applications. San Francisco, CA: Elsevier, Inc.

[3] Millington, I. (2010). Game Physics Engine Development. San Francisco, CA: Elsevier, Inc.

[4] Eberly, D. (2010). Game Physics (2nd Edition). San Francisco, CA: Elsevier, Inc.

[5] Dunn, F. and Parberry, I. (2011). 3D Math Primer for Graphics and Game Development (2nd Edition). Natick, MA: A.K. Peters, Ltd.

[6] Eberly, D. (2005). 3D Game Engine Architecture. San Francisco, CA: Elsevier, Inc.

[7] Eberly, D. (2007). 3D Game Engine Design. San Francisco, CA: Elsevier, Inc.

[8] Akenine-Moller, T. et al. (2008). Real-time Rendering (3rd edition). Natick, MA: A.K. Peters, Ltd.