2007-01-19

Blender...

Do you know a tool called Blender? If you don't maybe it is about time that you do. If you are interested in Graphics, 3D, High Quality Rendering, Physics Engines, Game Engines, Ray Tracing and others of the same kind, then you are a Graphics Geek. Well, at least I think that is what geeks that are interested in Graphics should be called.

Am I a Graphics Geek? Well, probably not fully, but I've always found interesting the world of Graphics. It all started at the University when I had to develop a Z-Buffer Implementation, coupled a a 3D Modeling tool. You see, I went the extra mile. For a simple project where you shouldn't spend more then 40 hours I ended up spending something like 60 hours and ended up with a tool that even made objects by Revolution, that is, you draw a polygon and a line and the engine would warp the polygon around the line making quads as it went by.

What really amazed me at the time is that this is an area were you could always attempt old techniques and new techniques to squeeze a little more performance from the machine. At the time I did this I had a 486 PC at 66Mhz. At that time we had Pentium's 3 at 130Mhz at the University and even those weren't top of the line. The end result? Well, I had to make substantial optimizations to the engine to ensure that it had an "acceptable" performance in my PC. Actually it is a funny story.

When it first ran and produced a good result it took something like 5 to 10 minutes to render a scene. I added back-face culling and it dropped to 2 to 5 minutes. I then added an computational cache for the dots and it dropped to something like 20 to 40 seconds. It was acceptable, but it had a strange output. I was rendering a sphere and it seemed like a density map, like the engine was supposed to produce more colors but it didn't. It was the night before the presentation and I gave up at about 1a.m..

The next day I was attempting to see it running in the University's machines, just before the presentation, and I was already preparing myself to explain the teacher that I couldn't solve that bug. What happened? Well, it toked only 3 to 10 seconds to render a scene and the scenes were absolutely beautiful. Then I remembered that at home it was running with only 8 bit color depth (256 colors). At the University it was running at 16 bits. The teacher was amazed with the speed of the engine and I had to explain the techniques that I used that he didn't teach, some of which I invented - like the calculation cache. I got an A for that work ;-)

So, if you like this area, like I do, have a look at blender and you'll be amazed. But be warned: its engine is far more complex then the one I developed so don't expect fast rendering times. In fact, if you abuse and start adding things like fur to surfaces you're in for a good minutes of rendering time, before seeing the end result...

No comments:

Post a Comment