Wednesday, March 28, 2012

Lighting and Shadowing: Project Proposal

Proposal Document

The Presentation

For a previous class project, I tried to implement a dynamic lighting and shadowing system in OpenGL. The main reasons for this were that OpenGL 2.0 lights don't cast shadows and that OpenGL 3.0 and 4.0 don't give you any lights at all.

After some research I found three ways for me to go about doing such a thing:
  • Per-pixel lighting
  • Per-vertex lighting
  • Light mapping
Per-pixel and per-vertex lighting require the use of shaders and GLSL, which at the time I had no desire to learn. I went with light mapping. Although it was fairly easy to implement, it was unbelievably slow and I spent the majority of my time trying to speed it up. So I've scrapped that project and moved onto better things.

The Proposal

I will create a dynamic illumination and shadowing system in OpenGL 4.0, using shaders and GLSL. I'm going to generate some random terrain, illuminate the whole thing using different models (Phong, Gouraud, and Lamertian), then implement shadow volumes. It will be glorious.

Timeline

I'm never good about keeping personal deadlines, but here's the game plan:
  • Now: Begin shader research and experimentation.
  • Week 4: Have random scene generation completely finished.
  • Week 5: Be familiar enough with OpenGL 4.0 and GLSL that actual work can begin.
  • Week 7: Have at least one illumination model completely finished.
  • Week 8: Have all illumination models completely finished. Begin work on shadow volumes.
  • Week 10: Have shadow volumes implemented.
I'm going to aim for a post on each of these milestones outlining what I did, how I did it, and numerous papers, articles, and websites that I use.

No comments:

Post a Comment