May 26, 2018
Quake III engine with Cell Shading capabilities
The goal of this project is to add Cell Shading capabilities to the Quake III engine with real-time performance.
In order to provide such feature we have decided to use Kuwahara filter, a noise-reduction filter that preserves edges.
It uses four subquadrants to calculate the mean and variance and chooses the mean value for the region with the smallest variance.
To increase the hand-painted effect we have decided to apply a simple blur filter to reduce hard-edges on textures and increase the flatness effect.
To produce the cell shading effect we use no graphics card shaders, so our implementation could run with almost any graphics card. The edge effect is produced by painting backface polygons with a thick wireframe without textures and repaint all the scene, but this time, with textures.
We have also implemented a different algorithm we call it White Texture, which uses white textures. You can set the console variable r_celshadalgo to 2, and load another map, or run using the appropriate link that came with the release.