# Cel Shading

Cel shading is the technique used to make your maps render like cartoons, with black (or other color) solid outlines tracing hard edges.

In order for celshading to work properly, you must use -meta when compiling the BSP. The funny little nonplanar/shadeangle/invert/offset nonsense in cel.shader is what makes it work properly. You'll know when it's working when it starts taking about 10-20x as long to make the BSP.

    // ink shader for maps
    // to use, add "cel" to shaderlist.txt
    // add a "_celshader" key to worldspawn entity with a value of "cel/ink"

    textures/cel/ink
    {
        qer_editorimage gfx/colors/black.tga

        q3map_notjunc
        q3map_nonplanar
        q3map_bounce 0.0
        q3map_shadeangle 120
        q3map_texturesize 1 1
        q3map_invert                //inverts drawing surface for backfacing hull
        q3map_offset -2.0           //offsets surface by the specified distance

        surfaceparm nolightmap
        surfaceparm trans
        surfaceparm nonsolid
        surfaceparm nomarks

        sort 16

        {
            map gfx/colors/black.tga
            rgbGen identity
        }
    }