Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::string skyDir = "resources/skybox/";
- std::vector < std::string > skyboxFaces = { skyDir +"right.png", skyDir +"left.png",skyDir+"top.png",skyDir + "bottom.png",skyDir + "front.png",skyDir + "back.png"};
- TexturePtr skyTexturePtr = textureManager.load("skybox.png"); // doesnt work
- glGenTextures(1, &skyboxTex);
- glBindTexture(GL_TEXTURE_CUBE_MAP, skyboxTex);
- for (unsigned int i = 0; i < skyboxFaces.size(); i++)
- {
- unsigned char *data = stbi_load(skyboxFaces[i].c_str(), &skyTexturePtr->width, &skyTexturePtr->height, &skyTexturePtr->nrChannels, 0);
- if (data)
- {
- glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i,
- 0, GL_RGB, skyTexturePtr->width, skyTexturePtr->height, 0, GL_RGB, GL_UNSIGNED_BYTE, data
- );
- stbi_image_free(data);
- }
- else
- {
- std::cout << "Cubemap texture failed to load at path: " << skyboxFaces[i] << std::endl;
- stbi_image_free(data);
- }
- }
- glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_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);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement