Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. std::string skyDir = "resources/skybox/";
  2.     std::vector < std::string > skyboxFaces = { skyDir +"right.png", skyDir +"left.png",skyDir+"top.png",skyDir + "bottom.png",skyDir + "front.png",skyDir + "back.png"};
  3.  
  4.     TexturePtr skyTexturePtr = textureManager.load("skybox.png"); // doesnt work
  5.  
  6.     glGenTextures(1, &skyboxTex);
  7.     glBindTexture(GL_TEXTURE_CUBE_MAP, skyboxTex);
  8.  
  9.     for (unsigned int i = 0; i < skyboxFaces.size(); i++)
  10.     {
  11.         unsigned char *data = stbi_load(skyboxFaces[i].c_str(), &skyTexturePtr->width, &skyTexturePtr->height, &skyTexturePtr->nrChannels, 0);
  12.         if (data)
  13.         {
  14.             glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i,
  15.                 0, GL_RGB, skyTexturePtr->width, skyTexturePtr->height, 0, GL_RGB, GL_UNSIGNED_BYTE, data
  16.             );
  17.             stbi_image_free(data);
  18.         }
  19.         else
  20.         {
  21.             std::cout << "Cubemap texture failed to load at path: " << skyboxFaces[i] << std::endl;
  22.             stbi_image_free(data);
  23.         }
  24.     }
  25.     glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  26.     glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  27.     glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
  28.     glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
  29.     glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement