The following generates a 64x64 checker texture, in which we alternate between black and white at 8 pixel intervals.
# define texWidth 64
# define texHeight 64
GLubyte checkerTex[texWidth][texHeight][3];
void makeCheckerTex( void )
{
int i, j, r, c;
for (i=0; i< checkWidth; i++){
for (j=0; i< texHeight; j++){
c = (((i&0x8)==0)^((j&0x8))==0)*255;
checkerTex[i][j][0] = (GLubyte) c;
checkerTex[i][j][1] = (GLubyte) c;
checkerTex[i][j][2] = (GLubyte) c;
}
}
}