void Skybox::createCubeMap( const char* front, const char* back, const char* top, const char* bottom, const char* left, const char* right, GLuint* tex_cube ) { // generate a cube-map texture to hold all the sides glActiveTexture(GL_TEXTURE2); glGenTextures(1, tex_cube); std::cout << "testing 1 2 3"; // load each image and copy into a side of the cube-map texture loadCubeMapSide(*tex_cube, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, front); loadCubeMapSide(*tex_cube, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, back); loadCubeMapSide(*tex_cube, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, top); loadCubeMapSide(*tex_cube, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, bottom); loadCubeMapSide(*tex_cube, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, left); loadCubeMapSide(*tex_cube, GL_TEXTURE_CUBE_MAP_POSITIVE_X, right); // format cube map texture 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_R, GL_CLAMP_TO_EDGE); 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); }
void SkyBox::loadCubeTexture(const std::string& PosXFilename, const std::string& NegXFilename, const std::string& PosYFilename, const std::string& NegYFilename, const std::string& PosZFilename, const std::string& NegZFilename){ glActiveTexture(GL_TEXTURE0); glGenTextures(1, &m_cubeTexture); glBindTexture(GL_TEXTURE_CUBE_MAP, m_cubeTexture); 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_R, GL_CLAMP_TO_EDGE); 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_BASE_LEVEL, 0); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_LEVEL, 0); loadCubeMapSide(PosXFilename, GL_TEXTURE_CUBE_MAP_POSITIVE_Z); loadCubeMapSide(NegXFilename, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z); loadCubeMapSide(PosYFilename, GL_TEXTURE_CUBE_MAP_POSITIVE_X); loadCubeMapSide(NegYFilename, GL_TEXTURE_CUBE_MAP_NEGATIVE_X); loadCubeMapSide(PosZFilename, GL_TEXTURE_CUBE_MAP_POSITIVE_Y); loadCubeMapSide(NegZFilename, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y); }
void SkyBoxMaterial::loadCubeTexture(const std::string& filenamePosX, const std::string filenameNegX, const std::string& filenamePosY, const std::string& filenameNegY, const std::string& filenamePosZ, const std::string& filenameNegZ) { glActiveTexture(GL_TEXTURE0); glGenTextures(1, &m_CubeTexture); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeTexture); 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_R, GL_CLAMP_TO_EDGE); 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_BASE_LEVEL, 0); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_LEVEL, 0); loadCubeMapSide(filenamePosX, GL_TEXTURE_CUBE_MAP_POSITIVE_X); loadCubeMapSide(filenameNegX, GL_TEXTURE_CUBE_MAP_NEGATIVE_X); loadCubeMapSide(filenamePosY, GL_TEXTURE_CUBE_MAP_POSITIVE_Y); loadCubeMapSide(filenameNegY, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y); loadCubeMapSide(filenamePosZ, GL_TEXTURE_CUBE_MAP_POSITIVE_Z); loadCubeMapSide(filenameNegZ, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z); }