void maze() { u8 dirs[4]; int i, xf, yf, x, y, madd, mapPtr, ndirs, dir, mcount=0; for (i=0; i<256*256; i++) //clear maze array mazeArray[i]=mcol; for (i=0; i<256*256; i++) //clear map mapx[i]=0; mapy[i]=0; x = minx; y = miny; mapPtr = 0; mazeArray[x + y*256]=0; mapx[mapPtr] = x; mapy[mapPtr] = y; mapPtr++; mazeStart: dir = 0; ndirs = 0; xf = 0; yf = 0; madd = y*256+x; if (xminy) { if (mazeArray[madd-256*2] == mcol) { dirs[ndirs]=2; ndirs++; } } if (x>minx) { if (mazeArray[madd-2] == mcol) { dirs[ndirs]=3; ndirs++; } } if (y> 1; mazeImage[i*3+2]=mazeArray[i] >> 2; } u8 *mazeimage = new u8[256*256*3]; glGenTextures(1, mazetex); glBindTexture(GL_TEXTURE_2D, mazetex[0]); int j=256; for (i = 0; i<9 ; i++) { gluScaleImage(GL_RGB, 256, 256, GL_UNSIGNED_BYTE, mazeImage, j, j, GL_UNSIGNED_BYTE, mazeimage); glTexImage2D(GL_TEXTURE_2D, i, 3, j, j, 0, GL_RGB, GL_UNSIGNED_BYTE, mazeimage); j = j >> 1; } glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR ); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST ); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); }