Apart from GSoC, I plan to work on the following things:
1) An internship in Delhi (this is a part of our course work here at
BITS-Pilani, Goa Campus)
2) Research/learn on gesture recognition in OpenCV and create a gesture
controlled media player
3) Learn drumming, no seriously.

=======================================

I've worked on multiple personal projects in diverse fields. Here's a list
of a few major ones:
1) A 3D chess game in C/C++ from scratch (Sep '08)
   * Uses OpenGL and OpenAL
   * Heavely uses the concept of reusable objects (like, a renderer object
to use OpenGL, a Camera object, a CameraAnimator object that lets you move a
given camera over certain paths, etc). You can have a look at a few
screenshots of the game at my website:
http://liquidmetal.in/work/chess-game.php

2) 3 robotics projects (over the last year)
   * Based on Image Processing using OpenCV
   * Used C++ for implementing the image processing
   * Efficient code: Pictures taken from a webcam (at 640x480) and are
processed (to get information like the positions of balls, etc). This is
done approximately 30 times per second, with memory usage never exceeding
10mb.
   * You can get some more info about these bots on my website:
        - http://liquidmetal.in/work/ipbot.php
        - I couldn't put up a web page for the second bot my team and I made
        - http://liquidmetal.in/work/goal-image-processing-soccer.php

3) My website
   * No prewritten software was used (like wordpress or blogger)
   * Uses ajax techniques for the shoutbox and comments, making it a lot
easier for the visitor to leave a comment/shout
   * Uses PHP, MySQL and Javascript
   * You can get more information about it here:
http://liquidmetal.in/work/this-site.php

4) A basic Quake3 rendering engine (Summer '06)
   * Made in VB6 (yes, VisualBasic 6)
   * Loads a BSP level (Q3BSP), all texture maps (even from ZIP files,
supported formats: BMP, TGA and JPG), lightmaps and models (MD2 with
animation). And then it lets you move around the level, performing basic
collision detection.
   * The renderer performs frustum culling, and also uses the visibility
information stored in the BSP file to reduces the polygons to be rendered.
   * The project wasn't quite speedy... partially because of the programming
language used.
   * I tried making the engine as object oriented as possible, but VB6
didn't really allow me to do what I wanted. Since then, I've completely
abandoned VB6, and work on C/C++ and Java for developing applications.

================================================

Have you worked on other open source projects before? If so, please list and
describe what you did.
No. But hopefully this will be my first open source experience :)

====================================================

Please list other projects you are applying to for GSoC.
None

======================================================

Do you have any experience with C++ or Python? Of so, clarify this
experience.
I am familiar with python, but haven't really used that language for any
project... so I'm not that fluent at python.
As for C++, I've been working with it for a long time now (about 9 years
now). I am fluent with its syntax... functions, structures, classes,
inheritence. I'm average at templates, but I'm good at generic programming
in Java.

==================================================================

Do you have any experience with computer graphics, OpenGL, DirectX, other 3D
engines?

* Yes. I've worked a lot with OpenGL. Mostly learned over the internet (from
the like of http://nehe.gamedev.net ).
* In commercial game engines, I've done quite a bit of research on the
Quake3 engine (learning a lot from http://gametutorials.com, when their
tutorials were free) and also its source code.
* In free game engines, I've tried understanding the code of OGRE,
CrystalSpace and Irrlicht... taking bits and piece from each and trying to
implement that in some of my projects.
* Apart from these, I've also worked extensively with 3D GameStudio and a
bit with DarkBasic.

========================================================

When did you first hear about Crystal Space?
I heard about Crystal Space sometime around 2005, when I was looking for
engines that had "mirror" capabilities. CrystalSpace appeared in the search
results and I got to know how about it.

========================================================

Have you worked with Crystal Space before? For what sorts of things?
No. I haven't worked with CrystalSpace. But I have tried "deciphering" a its
code.

=========================================================

If you have participated in Crystal Space previously, please describe what
you've done (e.g. bug reports, questions on mailing list or IRC, etc.)
No

=========================================================

If you have contributed to Crystal Space before, please describe when and
what you did (bug fixes, new features, testing, etc.)
N/A

==============================================================================================

Other projects I am applying to for GSoC:
None

=============================================

My project

Implementing GUI interface for CrystalSpace. This includes the common
controls, like a button, radio button, lists, sliders etc. These elements
would let users of CrystalSpace design complete menu systems, which are
quite essential for most 3D rendering systems (games, visualizations, etc).
Plus, rendering these would be platform independent (as it'll be rendered by
crystalspace itself). Handling events would be tricky though.

* The system would be similar to Java: create a panel, add controls to it,
and then assign events to each control.
* A model-view system, that abstracts the internal representation of a
control from its appearance.
* A hierarical structure: any changes made on a higher level control would
be reflected in lower level controls. This would let developers
animate/control the GUI a lot more easily.

==========================================

Deliverables: What will the final output of your project be? Please note
that documentation is important.
* The final output would be a set of classes and functions that let you
design interfaces in CrystalSpace.
* An application that lets you generate C++ code for the GUI interfaces.
Nothing advanced here though.
* Documentation on how to use the classes, a few tutorials to get developers
started, and documenting common pitfalls and (probably) limitations of the
system.

==================================================

Schedule: Include an estimated timeline of the project with mini-milestone.
23rd May - Start implementation
15th Jun - Working controls - Panels, labels, buttons and radio buttons
30th Jun - Extending the control set to sliders, lists, text boxes, and
pictures
15th Jul - A small application that lets you generate C++ code in realtime
for userinterfaces
30th Jul - Testing and documentation on the GUI interface classes,
tutorials, limitations, and common pitfalls

===========================

Please let me know if anything is unclear. And comments would be highly
appreciated :)

Utkarsh Sinha
Birla Institute Of Technology and Science, Pilani - Goa Campus, India
Pursuing B.E. (Hons) Computer Science + M.Sc. (Hons) Mathematics
http://liquidmetal.in :)
------------------------------------------------------------------------------
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:[email protected]?subject=unsubscribe

Reply via email to