[CsMain] [GSoc 2010] GSoC application for lighter2 improvements
Mohit Taneja <[email protected]>
| Newsgroups | gmane.comp.graphics.crystalspace.general |
|---|---|
| Message-ID | <[email protected]> |
Hi, I would like to work on the lighter2 module as a project for GSoC. I plan to continue the previous work on radiosity using photon mapping and extend my project by implementing some of the features which can be implemented in lighter2. Though I have read about the work done by Olliebrown previously on lighter2 on his blog at CS. I am still juggling through the code in gsoc2009 branch to estimate the current state of the photon mapping code. I am attaching a rough draft of my application. Any comments/criticism/suggestions are welcomed. Regards, Mohit Taneja ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Crystal-main mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/crystal-main Unsubscribe: mailto:[email protected]?subject=unsubscribe
Crystal Space Application.txt
(text/plain, 4.5 KB)
About Me
I am a Computer Science student at Netaji Subhas Institute of Technology (NSIT), Delhi, India. I have interests in Computer Graphics, Game Development
and Artificial Intelligence systems. I have previously worked on an open-source game, named FoodForce2 [1][2], developed in python + pygame. It was
developed as an activity for OLPC laptops, but we eventually expanded it into a pretty good educational platform. It runs perfectly well on other
platforms like Windows, Linux and Mac too.
I have experience in coding in C++, as its the standard used for all college projects and assignments. I am well versed with debugging tools like gdb
and valgrind. The motivation behind working with Crystal Space is that I want to expand my horizons beyond my current knowledge of 2D animation and
Game Development. I would like to contribute to the crystal space community for a considerable period of time, and not just the GSoC period.
Lighter2 Improvements
1.) Continue + Complete the existing work on photon mapping. (Core Task)
2.) Extend photon mapping to include area light sources, which would include rectangular, spherical and dome type of light sources. I believe that once
we have the photon mapping module working + integrated properly, we need to work on the photon emission criteria for area lighting to work properly.
Some references to this idea can be found here [3] and [4]. (Core Task)
3.) The photon mapping code can be optimized for multiple cores by using threads for a particular direction or set of photons. In simple language one
can easily use one thread for tracing the path of half the photons and another thread for rest of the photons. I guess we can also make the lightmap
generation faster by using threads for direct light illumination too, direct lighting sums up the lightmap pixels coming from each light source and
these calculations can be easily done in parallel. I have worked on multithreaded applications earlier and I hope that the little experience would help.
(Core Task)
4.) Work on optimizations of photon mapping algorithm [6]. Though I am not sure about what optimizations have already been made in photon mapping.
(Optional Task)
5.) We can also extend area lighting to directional light maps using photon mapping. And area lighting can also be implemented for raytracing algorithm
for static lighting.(Optional Task)
6.) I am also interested in implementing a tetris packing method for lightmaps, if time permits. The method I am thinking of implementing is referred
here[5]. (Optional Task)
[1] http://www.foodforce2.com
[2] http://http://wiki.laptop.org/go/Food_Force_2
[3] http://www.devmaster.net/articles/raytracing_series/part5.php
[4] http://web.cs.wpi.edu/~emmanuel/courses/cs563/write_ups/zackw/photon_mapping/PhotonMapping.html
[5] http://www.blackpawn.com/texts/lightmaps/default.html
[6] http://en.wikipedia.org/wiki/Photon_mapping#Optimizations
Projected time-line for the tasks :
First Week (24th May - 30th May):
Understanding the code of lighter2 + the already existing work done on photon mapping. Learning the coding standards/methodoligies of the Crystal Space
developers. Planning for the work with my mentor. Generally my exams end around 26th May , so I would like this week to be easy on work.
Second Week and Third Week (31st May - 13th June):
Complete the remaining task/resolve issues with the current photon mapping code + try to make some optimizations in the currently working code for
photon mapping. Create a pitching for making the code multithreaded.
Fourth Week (14th June - 20th June):
Get the photon mapping code + static lighting raytracing code multi-threaded.
Fifth Week (21st June - 27th June):
Unit-Testing of the multi-threaded code on a suitable machine and resolve any issues. Also test the proper working on photon mapping on different world
maps.
Sixth Week and Seventh Week (28th June - 11th July):
Extend photon mapping to area light sources and directional light sources. Also make sure that area lighting is working on the original ray tracing algo.
Eighth Week (12th July - 18th July):
Testing of area and directional lightmaps with different world maps, which could check for almost all the possible cases of failure.
Ninth Week (19th July - 25th July):
Implement the tetris packing method for lightmaps.
Tenth and Eleventh Week (26th July - 8th August):
Final testing and integration of all the code written and features implemented. Documentation of all the code written by me/features added by me. I have
also tried to keep some slack time if I overshoot some of the above mentioned deadlines.