KungFooMaster's Realm

Cornell Box

W00t, I'm employed. I got a job working in Florida working for a Video Game Company. Here is stuff that I did when I was unemployed.

I've just finished reading "The Art Of Unix Programming" by Eric S. Raymond. Probably, the most influential thing about the book is on the back cover by Kent Beck.

...I shifted from visualizing programs as things to programs as the shadows cast by communities

The point of these documents is nothing less than an attempt to form a new community. A community that I'd like to live in. The best way to predict the future is to make it. And this is my stab at passively creating a better future. It attempts to combine the two things that I like: Software Design and Computer Graphics. To practice the things that I believe on how to approach both of them, and also to teach others.

I'm a fan of open source, and open standards. All tutorials are written in Java. I'm well aware that Java isn't totally "Open". But, it is currently my favorite programming language and it allows me to write applets. If that is not reason enough, IBM has this really cool IDE called Eclipse. I love it, I love it, I love it. It is written in Java, and it supports lots of cool refactoring operations natively. So you can do things like rename a class, and the IDE can do all the code changes automatically instead of hacking it all out by hand. Plus, it has integrated JUnit testing and version control facilities. I would gladly pay one hundred dollars for it, but the best thing is that it is free.

Beyond that, we will be using OpenGL a generally nice and open standard. We won't be using Java3D since, well, Java3D doesn't work so well, and Sun has basically abandoned it in favor of native OpenGL bindings.

Tutorials

Demos

Graphics Philosophy

LLVM: SIMD Support

I'm helping out a friend and former room-mate of mine with a project called: LLVM. Since, I'm interested in graphics stuff, SIMD is very useful way to encode and get performant code out of many graphics algorithms. Modern processors usually have some support SIMD operations. I'm currently working on the SSE support in the X86 back-ends. Here is a document about SSE instructions.

A New Direction

So, after I got past model loading, I hit a little bit of a road block. See, after you can load models, there is a question of where do these models come from, what information do they contain. The answer is: it depends on your modeling package (Maya, 3D Studio Max, Lightwave etc.) All those packages cost alot of money. Now there is a free one called blender, but I personally don't like using it. In fact, my favorite modeler is Milkshape 3D. But that also isn't free, but it is a very good product. But, hey, I'm poor and bored and I have the gaul to think I can do better. Plus, I'm itching to try out Test-Driven Development and I do have some ideas about how geometric primitives should be modeled, so hey, what the hell. So, I give you Fender.

About Me

Valid HTML 4.01!