Tuesday, June 10, 2008

Pulse3D

Pulse3D started as a result to the addiction to game programming. I got my first real taste of this new flavor of programming when I made a few ridiculously small games for competitions; and then a rather crude one for my college major project.

Pulse3D is supposed to be a game engine (rather rendering engine) that will allow game developers to use OpenGL or DirectX as the underlying rendering subsystem. Being a hardcore fan of Linux; I'm targeting OS independence by isolating the Windowing and event system from the engine.
The project being propelled by a one man army at the moment, I'm not much into documentation; but the design is rather clear in my mind. The features supported at the moment include frustum culling, meshes, lighting, collision detection, camera, memory management and the other basic infrastructure. Currently everything is using OpenGL as the renderer, but the design is flexible and will have DirectX added at a later stage.

After building in basic support for meshes, rendering and lighting, I thought of giving my own code a shot from the developer's side. So I built an app that was using Pulse3D, loaded and rendered a chess piece I found on the net. The screen-shots demonstrate the use of meshes, and lighting.
However, I did find out that my api as yet is not very user friendly; and has some bugs I'll like to get rid of.
The next feature on the list will be Textures; so that Pulse3D will be able to load basic textures, and instruct the underlying rendering subsystem on how to apply them.

The obvious question that comes to mind is that will it revolutionize something in the gaming industry ??? Well just being blunt in my answer, its too big of a dream to think that way. I'm working on this project just as a hobbyist programmer, just for the passion. I learn new stuff this way; going and developing stuff (often from scratch).

Pulse3D is hosted on Sourceforge where you can track its development;. http://sourceforge.net/projects/pulse3d
Although be warned that at times you will not see updates for weeks in a row... just presume that I'm either caught up with office stuff or collecting the ingredients for the next magical spell.

Tuesday, May 27, 2008

What's been keeping me busy ??? (continued)

I had to save my blog in a hurry yesterday.
Well, where was I ???
Yep, I remember; talking about the number of competitions I went along with Abhishek. Well we managed to sweep of prizes lots of stuff from those visits (include IIT Delhi, MBM Jodhpur, and lots of local colleges).
Also worth mentioning my work with my younger brother... Nikhil. He is following the same footsteps that i was during my earlier days. Also a great programmer, and animator, I spent some time with him too visiting (and winning) several software competitions. He was the one with whom I would play games throughout the night... NFS, Thief, SplinterCell, Age Of Empires, MaxPayne being among the most popular ones.
I also ventured into the unknown when I decided of going in for developing an OS kernel for my minor project at college. My frnds were also interested, and joined me in the crusade. Finally we landed up with a small, basic OS kernel that was handling Multitasking and Memory management. That was the end if it, and we never got time to get back to it. It was interesting while it lasted.

Then came the time for the major project; and I wanted to put my new skills at OpenGL to a test. Again my frnds and me kicked off a project that was crudely to resemble NeedForSpeed. OpenGL/Linux/C++/X-Windows were among the ingredients, and the project did well enough to get the Best Project award from the college.

After college, I joined Nvidia Graphics, Pune; and have been here since then.

More on my projects to come...

What's been keeping me busy ???

Well, here I am. Finally started my own blog. Late... but I believe that now is the perfect time... whenever you think its time :)
There was a lot of happening stuff going on in my life, that i would have loved to pin down; so that later in my life when I turn the pages thru my archives; it would only prove what a madman I was in the prime of my life.

Not much to say about my first post, so let me introduce myself. I've been known among friends for my addictiveness to programming (yes, it is weird). Most of the things in my life have started on the tougher side, then made my way to the easier side. I started with C++ before learning C. I started with MFC before I caught on to traditional VC++ programming. I even managed to start DirectX before OpenGL (not that it really has to be this way).
Through the years, I've grown to latch on to a number of stuff that include
* Network programming in C/Linux
* Multi threaded programming (again in C/Linux)
* GUI programming with MFC/VC++, QT, X-Windows/C
* Vertex and Fragment shaders (CG/OpenGL)
* STL, Assembly (x86 family)

I've teamed up with my friends in college days to get the best of almost everything. Back in college, I was with RVRK Abhishek (yep, he's somewhere on blogspot too)... among the best team-ups one could think of. We literally complementary... he was skilled in web designing, libraries, hacking, re-using stuff; while I was gr8 at programming, logic designing.