Tuesday, May 20, 2014

Are you looking for a Consultant (Part-time)? Here is my resume so you can email me if you have something interesting.

My skills in brief:
1) OpenGL ES / OpenGL Cross platform Rendering/Game Engine
2) Kinect Sensor and 3D Object Detection
3) Linux/Mac OSX device drivers

Languages used:
c, cpp, Python, Obj-c, Java

Disclaimers:
Am not looking for a full time job. Am just interested in working on something interesting that feeds my hunger for building technology.

Harishankar-Narayanan-Resume

Validating Yourself as a Good Game Developer

Do you hate anything other than traditional CPP?
Even after using a lot of new and powerful languages (C#, Java, Python, and whatever), when it comes to game development, do you still have a soft corner for cpp? Don't hesitate to choose our good old cpp over other languages. We decided to use cpp (at Smackall Games) for few reasons. To make our game engine cross-platform, and to take the full power of the system under control.

None of the Game Engines, satisfied you?
With all passionate programmers around, we never felt satisfied with any of the game engines (both open source or commercial). Open Source Engines might have tough to understand licensing systems. And commercial engines do not let you work as a programmer, they are mostly designed for graphics designers. So if you hate using other game engines, you should try to write your own, at least once in your life time as a game developer. It is not a simple task as you might think, but don't hesitate to integrate other popular Rendering engines, Physics Engines or Scripting systems. Which will reduce the time to build your own Engine.

No File format works for you.
This is nothing new for a game developer. None of the file formats available are helpful in all cases. They either take too much space, too much time to load, or store too much information that you don't need. This happened every time we chose a format. We finally ended up writing our own file formats and Import/Export scripts for 3D editors (in our case, Blender). We quickly wrote a export script for Blender, to export Mesh as SGM, Rigged Mesh SGR, Animated Mesh SGA, Physics shapes as SGP and the level setup as SGX. Each format took us around 3 days to complete.

More to come...


Saturday, September 8, 2012

Complex Gesture Recognition using Kinect

Like I said earlier, I was working on some complex gesture recognition system that can recognize numbers. The whole system was built with Embedded systems in mind, so its just c++ and no dependencies. The system can recognize any pre-trained gestures with very good accuracy.



We developed this system at Muckati (http://www.muckati.com)

Team: Anjan, Harishankar, Sasikumar

Saturday, July 21, 2012

IrrNaCl - my port of Irrlicht 3d engine to Google NaCl

I've just completed porting my favorite 3d rendering engine to Google Chrome's Native Client. It was a tough learning curve for me from both sides. I was new on both sides, NaCl and Irrlicht. However, as both were on my favorite programming language c++, I felt happy in doing it.

The source code is available here https://github.com/codetiger/IrrNacl

Tuesday, June 19, 2012

Gesture recognition using Kinect on Embedded system

For those who are still following my depth sensor and skeleton recognition research. I've successfully designed a system that can track users hands (and other parts) with my own program. My initial intention was to build a very minimal micro computer with linux kernal running on it, to do gesture recognition. So, I was not happy in adding MS SDK for kinect or OpenNI as my intention was to build a commercial device.

Now, my program is able to filter Remove Background from Depth data with very minimal CPU usage. The system is still able to run with 30 FPS on a very basic CPU available today. Now, after detecting pointing finger (or hand) I am trying to add a self-learning system to recognize custom gestures.

Hopefully, I'll soon add a video of gesture recognition using a simple a micro computer setup.

Saturday, January 7, 2012

3D Scanner 2.0 - Mac App update

For all those who had trouble in the old version, I guess I've fixed most of it by now. Now we have the next big update here, just uploaded it and waiting for Apple to approve the update. Though, you don't see any extra features in this version, the main intension of this version was to improve the quality of OpenGL rendering, background filtering, allowing user to control the thresholds that were previously hardcoded.

3D Scanner - Mac App Store Link

If you feel this update does not deserve a whole new version number, you need to wait until the next updates that will fill advanced features. Also, keep posting your feature requests, so we know what you expect. :)

Wednesday, January 4, 2012

3d Scanner 1.3 update

I just uploaded an update for "3D Scanner" Mac app. The new update is just a 32-bit support, so old Mac machines are not left off. I received few emails with issues in running the app on their pretty old machines, that I doubt should be because of the 32-bit processor. So I took a hard path to build the open source usb driver code from source compiled it along with my program. Now most Mac OSX machine with OSX version greater than 10.5 should work fine. But it is still restricted to intel based machines.

The next update is not too far, am working on noise removal, which should help the program a lot. Also my next assignment will be 3D video recording in md2 or other 3d formats. :)