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
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.
------------------------------------------------------------------------------
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