Tuesday, March 21, 2006

Grand Schemes, Great Adventures!

I have always been fascinated with computer graphics. From the days even before I had a computer, I was really really attracted to video games (what boy isn't?) and not only for the sake of them being games. I wondered what made them move and jump. I remeber watching and later playing "Last Ninja II" on Commodore 64. I think that's the earliest game I played extensively and can still remember. There was a game called "Tusker" too, but I never got anywhere with that. I must add that these were the early games, before I got my own C64. After that, it was an hour BASIC, and two days of games. When I got my PC, the ratio became 1 hour to 10 hours, then 2 hours to 10. Right now, I program for a few hours, I do other stuff (that I hate) for another few hours, then play for that same amount of time (simple life I hear you say. Well, not quite.) I got distracted. I was trying to say that I became interested in interactive computer graphics because I was and am interested in games, and the interest stuck with me. Almost all of the programming fields I entered was because of this interest. I became interested in programming for performance, for restricted memory, program on the bare metal, assembly programming, the hardware interfaces, systems programming, design and analysis of algorithms, 2D and later 3D rendering techniques, etc. It all was directly or indirectly influenced by my drive for interactive graphics. Throughout the years, I've never worked professionally or even really seriously on the subject, but I have acquired some experience and knowlege (nothing great, just tidbits.) Now, I have decided to write a series of tutorial-like articles in my blog, to help the beginners scale the barrier and enter the field easier. What I'm gonna do is this: I'm gonna talk about the basics, the jargon and the definitions. Then we'll enter 2D world, to go over drawing and animation techniques. Then we'll try our hands at some 3D programs. I'm going to write these series for those who already know programming. I'm going to use C/C++ as the primary language. I'll be using Windows (bite me!) and Microsoft Visual Studio myself, but I'll try to remain portable. We'll use SDL to simplify things without sacrificing power. When we enter the third dimension, we'll use OpenGL API. We may even touch upon GPU programming! Stay tuned!

No comments: