Herein lies the details of the sketchy-renderer.
The sketchyNPR attempts to simulate a person rapidly sketching the Quake environment on a piece of white paper. The walls are shaded with a hash-style sketching, and the water ripples with every stroke of the writing utensil.
The process of sketching the environment's outlines was fairly straightforward. First, the polygon for each wall is drawn. This is done to insure that lines that should be obscured, are obscured. Without the poly's being drawn, a large number of lines would be floating in space (disappearing and reappearing via the bsp tree) without any way to tell what is in front of what.
The second step is to simply draw an arbitrary number of lines (there's a C-var for this) from each vertex point to the next. Each line is also jittered away from the vertex a certain amount to create the feel of a rapid, or loose sketch.
To add to the realism of the sketchy lines, we made each slightly transparent to make the lines seem more realistic. This added a number of depth-buffer-based transparency problems, but were alleviated by disabling the depth buffer entirely.
The particles are drawn as small jittering crosses. They expand and contract in the same way as Quake's original particles. The water follows Quake's water distortion techniques to create the impression of a wavy surface. Also, due to the way the sky is created in GLQuake, it was decided to omit drawing both it and its polygons altogether.
Execution and C-vars
var's go here...
If you would like to play NPRQuake with the sketchy renderer, simply download the following .zip file and extract it into the same directory as your NPRQuake executable. As a reference, the default renderer (dr_default.dll) will already be located in this renderer's destination directory.
Download the package of NPRs.
And for all of you budding NPRQuake developers out there, if you would like to enhance any of our nprs, feel free to download the following Visual Studio workspaces. They're under the GPL code-domain, and should be edited and distributed accordingly.
Download the package of NPR source.