3 things about the demo download:
- You need to work with RAR file, as opposed to a ZIP file. Try RarZilla.
- Doesn’t work on Microsoft Vista
- Your ATI graphics card renders only grayscale
Now that unpleasantries are out of the way, let’s get on with it. What do you mean you haven’t downloaded the demo yet? Do that now. It’s about 160 KB and 4 minutes in length.
3 points to take note while watching:
- Constructive solid geometry or CSG
- Cel shading or cartoon style rendering
- Shadow rendering
At the start of the demo, there’s a note referring to CSG or constructive solid geometry. It’s a way to build 3D models. An example in the demo is the cube with a square hole in each side. Let me show you how it works. First you have a cube.
Then you stick in stuff, like cylinders (the demo used cuboids).
Then imagine the cube having a positive trait, and the cylinders a negative trait. And the cylinders “cut” into the cube. Then you render only the positive parts (so the cylinders disappear). The result is this (I rotated the cube a little to better show off the result):
Here’s one where a negative torus (that’s donut for the non-math people) cuts a positive cylinder. Can you see where the torus is?
Basically you construct the 3D model by cutting basic geometric shapes such as cuboids, cylinders and spheres. You can also merge shapes together. For example, you can stick 2 half spheres to the ends of a cylinder to get a capsule.
Next up, you should have noticed the cartoony feel of the demo. This is brought to you by means of cel shading. There’s a web site dedicated to this. I’ll refer you to an article which can explain cel shading better than I do. And here’s the supporting source code.
The best use of this technique was in Okami, a Playstation 2 game. I was awed by the use in rendering brush strokes in a 3D scene. You have to check it out. That game was just beautiful, the music authentically ancient Japanese, and the dialogue funny.
Lastly, the use of shadows. You never really think about shadows until they’re not there because the sense of depth is missing. Real-time shadow calculation is very intensive. I haven’t implemented any technique before, so I can only point you to some resources. Simulation of natural phenomena doesn’t seem so easy now does it?