Progressive Photon Mapping

I'm a 4th year student at the University of California, San Diego (UCSD), my major is Mathematics-Computer Science, and my current GPA is 3.7. I have a significant amount of math and computer science courses under my belt, particularly relating to 3D computer graphics. I have also been very involved in the subject matter, especially as it relates to academia. I believe that my extensive experience with 3D theory and programming, as well as my thorough study of mathematics and computer science, makes me a competitive candidate.

While at the Immersive Visualization Laboratory at the California Institute for Telecommunications and Information Technology, I have developed several applications in C++ with OpenGL for a virtual reality display. The NSF-funded Pacific Rim Undergraduate Experience Program funded my trip and expenditures in Japan, where I researched, developed, and coded 3D algorithms. Currently I am working on a medical UCSD grant, where I work with researchers to find different ways to process and visualize their data in virtual reality. This rewarding experience has made me apt at collaborating with a large interdisciplinary team.

I have taken several math courses that are strongly related to computer graphics, such as Linear Algebra, Vector Calculus, Combinatorics (includes graph theory and recursive algorithms), and Numerical Analysis. Some of the related computer science courses that I’ve taken include Advanced Data Structures, Computer Graphics, Computer Animation, and GPU Programming. I’m also currently taking Computer Graphics II, which focuses on ray tracing. Those courses and more, with their course description and my grades, are on my website along with a few of my projects.

The Progressive Photon Mapping idea really piqued my interest. The links you gave that describe progressive photon mapping was written by my current professor for Computer Graphics II, Dr. Henrik Wann Jensen, and the TA for the course, Toshiya Hachisuka. Since I’m in contact with both of them during class and office hours, I will be able to consult them if I have any questions. I'd also like enhancing the algorithm speed with GPGPU programming with a fallback to CPU code. I’ve always been very interested in computer graphics algorithms, and progressive photon mapping in particular sounds like it would be a lot of fun to implement. I've already made a ray tracer for my course, and the photon mapping lectures begin on 5/14. Since my career aspirations involves computer graphics, I would love to be able to continue working on ray tracing algorithms even after the summer ends.

I have no obligations for the summer, and if you accept me, I would really enjoy spending my summer coding for your organization. Please feel free to look at my resume at .

Tentative schedule:

Prior to Week 1: Get to know mentors, read documentation, and get up to speed in order to begin working on the project.
Week 1: Research related topics. Find related academic papers. See how people with similar projects decided to tackle it.
Week 2-6: Code, code, research, and more code.
Week 7-8: GPGPU enhancements (OpenCL or CUDA)
Week 9: Research various benchmarking toolkits (e.g. NVIDIA’s PerfKit). Benchmark the code and find critical sections. Document significant bottlenecks if they exist.
Week 10: Work on optimizing the speed at critical sections.
Week 11: Write end-user documentation. Improve/add comments in source code.
Week 12: Scrub code, write tests, and improve documentation.