Herein lies the details of the brushstroke-renderer.
The brushStrokeNPR attempts to simulate a person drawing each line in space with a brush of your choice. Whether it be a ballpoint pen or a scribbly charcoal pencil, the brushstroker is a work of pure artistic class (sorry, it's getting late and i'm getting punchy).
Creating brush strokes along the edge of walls was a bit tricky. Our main focus was the creation of brushes with varying thicknesses. This would accomodate for both a thinly-sketched pencil all the way to a heavily-stroked paintbrush.
The varying thicknesses were accomplished by creating a seperate polygon stretching between each vertex in space. Texturing this polygon with the desired brush stroke would result in a varying-thickness line between the two points. Sure enough, that's what happened, and the rest of the renderer was npr history.
Two bugs exist with this current implementation. One is noticeable with the chacter models (and similar objects) - the final line of each polygon is missing. Blah! Running out of time was the reason for this not being fixed. Also, the particles are still the old-style particles, but this isn't really a bug - just an oversight.
Execution and C-vars
var's go here...
If you would like to play NPRQuake with the brushStroke 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.