OpenGL Text Patterns
ASCII Art
    
Pattern code:
    const char *aa = " .:~+%&@";
    const int aa_chars = 8;
    for(int y = 0; y < CHARS_VERT; ++y)
    {
	for(int x = 0; x < CHARS_HORIZ; ++x)
	{
	    int xc = x - cx; // centered coords
	    int yc = y - cy;
	    float a = (float)atan2(xc, yc);
	    float r2 = (float)(xc*xc + yc*yc);
	    float c01 =
		    sinf(
		    sinf(a*3.0f-t*0.03f) * 1.7f + 1.0f +
		    sinf(a*5.0f+t*0.025f) * 1.7f + 1.0f +
		    sinf(a*7.0f-t*0.02f) * 1.7f + 1.0f +
		    sinf(a*11.0f+t*0.015f) * 1.7f + 1.0f +
		    r2 * 0.003f - t * 0.05f) * 0.5f + 0.5f;
	    data[y*CHARS_HORIZ+x] = aa[((int)(c01*0.999f*aa_chars)) % aa_chars];
	}
    }
Warped Text
    
Warped Hello World:
Shadow over Innsmouth: