Make texture errors more clear - we failed looking for multiple extensions.

This commit is contained in:
milkdropper.com
2020-06-07 16:29:15 +04:00
parent 84b3b563ae
commit 9a9151b92b
2 changed files with 17 additions and 2 deletions

View File

@ -590,7 +590,22 @@ GLuint ShaderEngine::compilePresetShader(const PresentShaderType shaderType, Sha
if (texDesc.first == NULL)
{
std::cerr << "Texture loading error for: " << sampler << std::endl;
std::string extensionList = "";
// prepare a list of extensions we looked for, so it's more clear what a texture is in error logs.
if (textureManager->extensions.size() >= 1) {
extensionList = " (";
for (size_t x = 0; x < textureManager->extensions.size(); x++)
{
if (x != (textureManager->extensions.size() - 1)) {
extensionList += textureManager->extensions[x] + ", ";
}
else {
extensionList += "or " + textureManager->extensions[x];
}
}
extensionList += ")";
}
std::cerr << "Texture loading error for: " << sampler << extensionList << std::endl;
}
else
{

View File

@ -20,13 +20,13 @@ class TextureManager
void loadTextureDir(const std::string & dirname);
TextureSamplerDesc loadTexture(const std::string name, const std::string imageUrl);
void ExtractTextureSettings(const std::string qualifiedName, GLint &_wrap_mode, GLint &_filter_mode, std::string & name);
std::vector<std::string> extensions;
public:
TextureManager(std::string _presetsURL, const int texsizeX, const int texsizeY,
std::string datadir = "");
~TextureManager();
std::vector<std::string> extensions;
void Clear();
void Preload();
TextureSamplerDesc tryLoadingTexture(const std::string name);