Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Texture::Texture(const std::string& path)
- {
- FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
- FIBITMAP* dib = nullptr;
- fif = FreeImage_GetFileType(path.c_str(), 0);
- if (fif == FIF_UNKNOWN)
- fif = FreeImage_GetFIFFromFilename(path.c_str());
- if (fif == FIF_UNKNOWN)
- return;
- if (FreeImage_FIFSupportsReading(fif))
- dib = FreeImage_Load(fif, path.c_str());
- if (!dib)
- return;
- FIBITMAP *dib_converted = FreeImage_ConvertTo32Bits(dib);
- int width = FreeImage_GetWidth(dib_converted);
- int height = FreeImage_GetHeight(dib_converted);
- BYTE* bits = FreeImage_GetBits(dib_converted);
- if ((bits == 0) || (width == 0) || (height == 0))
- return;
- float* data = new float[4 * 2 * 2 * 4]{
- 1.0f,0.3f,0.5f,1.0f,
- 0.0f,0.7f,0.5f,1.0f,
- 0.0f,0.5f,0.2f,1.0f,
- 0.0f,0.0f,0.0f,1.0f
- };
- glGenTextures(1, &m_textureID);
- glBindTexture(GL_TEXTURE_2D, m_textureID);
- //glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 2, 0, GL_RGBA, GL_FLOAT, (void*)data);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_BGRA, GL_UNSIGNED_BYTE, (void*)bits);
- FreeImage_Unload(dib_converted);
- FreeImage_Unload(dib);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement