- const short cm_count = 6;
 - const int cm_size = 512;
 - unsigned char *pixels[cm_count];
 - const char *cm_names[cm_count] =
 - {"xneg.png", "xpos.png", "yneg.png", "ypos2.png", "zneg.png", "zpos.png"};
 - for (int i = 0; i < cm_count; ++i)
 - { cubemaps[i] = bindTexture(QPixmap(cm_names[i]), GL_TEXTURE_2D);
 - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
 - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
 - pixels[i] = (unsigned char *)malloc(3*cm_size*cm_size);
 - glGetTexImage(GL_TEXTURE_2D, 0 , GL_RGB, GL_UNSIGNED_BYTE, pixels[i]);
 - }
 - glActiveTexture(GL_TEXTURE11);
 - glEnable(GL_TEXTURE_CUBE_MAP);
 - glGenTextures(1, &cubemap);
 - glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap);
 - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
 - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER,GL_LINEAR);
 - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE);
 - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE);
 - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R,GL_CLAMP_TO_EDGE);
 - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGBA, cm_size, cm_size, 0, GL_RGB, GL_UNSIGNED_BYTE,pixels[0]);
 - glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, GL_RGBA, cm_size, cm_size, 0, GL_RGB, GL_UNSIGNED_BYTE,pixels[1]);
 - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, GL_RGBA, cm_size, cm_size, 0, GL_RGB, GL_UNSIGNED_BYTE,pixels[2]);
 - glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, GL_RGBA, cm_size, cm_size, 0, GL_RGB, GL_UNSIGNED_BYTE,pixels[3]);
 - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, GL_RGBA, cm_size, cm_size, 0, GL_RGB, GL_UNSIGNED_BYTE,pixels[4]);
 - glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, GL_RGBA, cm_size, cm_size, 0, GL_RGB, GL_UNSIGNED_BYTE,pixels[5]);
 
